【问题标题】:AWK replace a column value when occurrences happenAWK 在发生时替换列值
【发布时间】:2012-12-17 05:25:36
【问题描述】:

。 大家好!

当日期和时间匹配时,我需要将 FILE2 文件中的一些值替换为 FILE1 文件中的值。

文件1

121216、0100、1.1、 121216、0115、1.0、 121216、0130、2.1、 121216、0145、1.8、 121216、0200、1.5、 121216、0215、1.3、 121216、0230、0.9、 121216、0245、1.2、

文件2

121216、0100、2.3、 121216, 0200, ,

输出

121216、0100、1.1、 121216、0200、1.5、

请一个awk解决方案,需要速度。

提前致谢!

【问题讨论】:

    标签: batch-file merge awk


    【解决方案1】:

    一种方式:

     awk -F, 'NR==FNR{a[$1$2]=$3;next}{$3=a[$1$2];}1' OFS=, file1 file2
    

    【讨论】:

    • 这比我的 bash 脚本快得多。谢谢大家!
    猜你喜欢
    • 1970-01-01
    • 2016-07-19
    • 2015-01-07
    • 2016-07-19
    • 1970-01-01
    • 1970-01-01
    • 2016-07-20
    • 2014-03-05
    • 1970-01-01
    相关资源
    最近更新 更多