使用基于先前匹配的第一和第二列的值awk添加(追加/复制)缺少的列

时间:2018-08-19 10:19:05

标签: awk match multiple-columns add

输入文件样本格式:filea

    dataev 258 aaa val1 val3 val4 trim val 7999
    dataev 259 bbb 1 35 aa ff ggg dataev 259 bbb val1 val3 val4 set val 7999
    dataev 26 ccc 2 10 aa ff ggg dataev 26 ccc val1 val3 val4 set (val/x86) 7999
    dataev 26 ddd val1 val3 val4 trim val 7999
    dataev 262 qqqq 1 38 aa ff ggg dataev 262 qqqq val1 val3 val4 set (val/x86) 7999
    dataev 263 aaa 1 39 bb ff ggg dataev 263 aaa val1 val3 val4 set val 7999
    dataev 264 ppp val1 val3 val4 trim x64 7999
    dataev 264 888 1 40 cc ff ggg dataev 264 888 val1 val3 val4 set (val/x86) 7999
    dataev 265 ooo 1 41 bb ff ggg dataev 265 ooo val1 val3 val4 set val 7999

基于输入文件,应根据列$ 1和$ 2的匹配情况添加(复制)缺少的列,并附加到缺少列和值的地方 从他们的“匹配的更长的行/行”中

输出:

dataev 258 aaa val1 val3 val4 trim val 7999
dataev 259 bbb 1 35 aa ff ggg dataev 259 bbb val1 val3 val4 set val 7999
dataev 26 ccc 2 10 aa ff ggg dataev 26 ccc val1 val3 val4 set (val/x86) 7999
dataev 26 ddd 2 10 aa ff ggg dataev 26 ddd val1 val3 val4 trim val 7999
dataev 262 qqqq 1 38 aa ff ggg dataev 262 qqqq val1 val3 val4 set (val/x86) 7999
dataev 263 aaa 1 39 bb ff ggg dataev 263 aaa val1 val3 val4 set val 7999
dataev 264 ppp 1 40 cc ff ggg dataev 264 ppp val1 val3 val4 trim x64 7999
dataev 264 888 1 40 cc ff ggg dataev 264 888 val1 val3 val4 set (val/x86) 7999
dataev 265 ooo 1 41 bb ff ggg dataev 265 ooo val1 val3 val4 set val 7999

...

它有一个5k行的文件,为简单起见,是否也可以将其与以下输出格式连接起来

输出:

dataev 258 aaa val1 val3 val4 trim val 7999
dataev 259 bbb 1 35 aa ff ggg dataev 259 val1 val3 val4 set val 7999
dataev 26 ccc 2 10 aa ff ggg dataev 26 val1 val3 val4 set (val/x86) 7999
dataev 26 ddd 2 10 aa ff ggg dataev 26 val1 val3 val4 trim val 7999
dataev 262 qqqq 1 38 aa ff ggg dataev 262 val1 val3 val4 set (val/x86) 7999
dataev 263 aaa 1 39 bb ff ggg dataev 263 val1 val3 val4 set val 7999
dataev 264 ppp 1 40 cc ff ggg dataev 264 val1 val3 val4 trim x64 7999
dataev 264 888 1 40 cc ff ggg dataev 264 val1 val3 val4 set (val/x86) 7999
dataev 265 ooo 1 41 bb ff ggg dataev 265 val1 val3 val4 set val 7999

0 个答案:

没有答案