【问题标题】:Append Two Files different total record追加两个文件不同的总记录
【发布时间】:2020-08-21 13:55:58
【问题描述】:

我有两个文件。文件 1 包含 7 列和 100 条记录。文件 2 包含 2 列和 1 条记录。 我想将文件 2 中的第 2 列放在文件 1 的最后一列中。

我尝试使用 paste -d 和 pr -mtr 它只是在第一条记录中添加新列。

下面是预期的过程

files1.txt

aaaa|bbb|ccc|dddd|eee|fff|ggg
aawe|bab|fcc|dcvd|ere|fasdf|g12g
aaas|bcb|dcc|ddsd|efe|ff|g2
.....
aaa2|bb3|ccd|ddsd|eef|ffd|gag

files2.txt

abc|def

输出

files3.txt

aaaa|bbb|ccc|dddd|eee|fff|ggg|def
aawe|bab|fcc|dcvd|ere|fasdf|g12g|def
aaas|bcb|dcc|ddsd|efe|ff|g2|def
.....
aaa2|bb3|ccd|ddsd|eef|ffd|gag|def

【问题讨论】:

    标签: bash shell unix sh


    【解决方案1】:

    awk

    awk 'BEGIN{FS=OFS="|"} NR==FNR{x=$2;next} $(NF+1)=x' file2 file1 > file3
    

    【讨论】:

    • 欢迎您,祝您有美好的一天
    【解决方案2】:

    sed 似乎是一个显而易见的选择。

    IFS='|' read x add < file2.txt
    sed "s/$/|$add/" file1.txt > file3.txt
    

    【讨论】:

      猜你喜欢
      • 2018-04-08
      • 1970-01-01
      • 1970-01-01
      • 2011-03-03
      • 2012-06-29
      • 1970-01-01
      • 2014-02-06
      • 1970-01-01
      相关资源
      最近更新 更多