zoukankan      html  css  js  c++  java
  • linux系统中如何将文件的某一列替换为其他文件的指定列

    1、测试数据

    [root@centos79 test]# cat a.txt
    e t q t
    x g a w
    i k h e
    [root@centos79 test]# cat b.txt
    4 5 6
    2 d 2
    s g y

    2、将b.txt中的第2列用a.txt中的第3列进行替换

    [root@centos79 test]# cat a.txt
    e t q t
    x g a w
    i k h e
    [root@centos79 test]# cat b.txt
    4 5 6
    2 d 2
    s g y
    [root@centos79 test]# awk '{print $3}' a.txt  ##提取用于替换的列
    q
    a
    h
    [root@centos79 test]# awk '{print $3}' a.txt | paste - b.txt  ##和目标文件横向合并
    q       4 5 6
    a       2 d 2
    h       s g y
    [root@centos79 test]# awk '{print $3}' a.txt | paste - b.txt | awk '{$(2+1) = $1; print $0}' ## 将被替换的列替换为第一列
    q 4 q 6
    a 2 a 2
    h s h y
    [root@centos79 test]# awk '{print $3}' a.txt | paste - b.txt | awk '{$(2+1) = $1; print $0}' | sed 's/[^ ]* //'  ## 删除第一列
    4 q 6
    2 a 2
    s h y
  • 相关阅读:
    典型用户
    站立会议5
    站立会议4
    《构建之法》阅读笔记05-需求分析
    站立会议3
    编写Android程序Eclipse连不上手机。
    站立会议2
    站立会议1
    第七周学习进度
    shiro之 散列算法(加密算法)
  • 原文地址:https://www.cnblogs.com/liujiaxin2018/p/15022435.html
Copyright © 2011-2022 走看看