Chinaunix

标题: 文件合并问题 [打印本页]

作者: 蓝色未央    时间: 2018-03-08 09:41
标题: 文件合并问题
文件1.txt,有很多列

a 1 4 5 6 ...
b 4 5 7 8 ...
c 3 3 1 0 ...
d 0 9 7 1 ...


文件2.txt,
a
c
e

希望将文件1 和文件2进行合并,1中没有的标签,用0替代,
最终形成的文件:
a 1 4 5 6 ...
c 3 3 1 0 ...
e 0 0 0 0 ...

谢谢大家

作者: wh7211    时间: 2018-03-08 11:34
  1. awk 'FILENAME==ARGV[1]{a[$1]=$0;b=NF-1;next}{if(a[$1]){print a[$1]}else{for(i=1;i<=b;i++){c=c?c" 0":"0"};print $1" "c}}' 1.txt 2.txt
复制代码

作者: jason680    时间: 2018-03-08 14:03
回复 1# 蓝色未央

$ awk 'FNR==NR{a[$1]=$0;if(NR==1){NF--;gsub("[^ ]+","0");z=$0};next}{if($1 in a)print a[$1];else print $1,z}' 1.txt 2.txt
a 1 4 5 6
c 3 3 1 0
e 0 0 0 0


作者: 蓝色未央    时间: 2018-03-08 16:19
回复 2# wh7211


谢谢大神
作者: 蓝色未央    时间: 2018-03-08 16:20
回复 3# jason680


谢谢大神




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2