在unix中更新列

时间:2018-04-02 19:37:44

标签: file unix replace

需要提供以下结果的Unix代码或脚本:

假设文件1具有以下数据

latestStatus

文件2有以下数据

ABC 1 cvb
DEF 2. bnm

输出文件应包含

等数据
ABC 3
DEF 4

1 个答案:

答案 0 :(得分:2)

使用awk:

$ awk 'NR==FNR{a[$1]=$2;next}{$2=a[$1];print}' file2 file1
ABC 3 cvb
DEF 4 bnm

说明:

awk '            # using awk
NR==FNR {        # process first file
    a[$1]=$2     # hash to a on first field
    next         # next record
}
{                # process second file
    $2=a[$1]     # update second field from a hash
    print        # output
}' file2 file1   # mind the order of files