我有两个文件采用这种格式:
文件1:
ID:1
Data:ABC
ID:2
DATA:DEF
ID:5
DATA:XYZ
文件2:
ID:1
Data:GHI
ID:2
Data:JKL
ID:3
Data:MNO
ID:4
Data:OBC
ID:5
Data:XYZ
预期输出为:
ID:File1Data:File2Data
1:ABC:GHI
2:DEF:JKL
5:XYZ:XYZ
任务是首先匹配ID,然后并排打印其DATA。 bash中有没有为此的命令。 ID未排序,可能以任何方式出现。我是脚本的新手,请帮助我。
答案 0 :(得分:0)
请您尝试以下。
awk 'BEGIN{FS=OFS=":"}FNR==NR{if($0~/^ID/){val=$2;next};a[val]=$2;next} /^ID/{val=$2;next} a[val]{print val,a[val],$2}' File1 File2