您好,我有一个包含重复数据的文件,例如:
ENGLAND
ENGLAND
ENGLAND
JAPAN
JAPAN
JAPAN
JAPAN
AMERICA
AMERICA
AMERICA
第二个文件具有唯一数据,该文件具有两列(以“ =”分隔),第一列被视为键:
ENGLAND=LONDON
JAPAN=TOKYO
AMERICA=WASHINGTON DC
AUSTRALIA=SYDNEY
IRELAND=DUBLIN
我试图弄清楚如何使用第一列作为匹配键来输出第二个文件的第二列。输出应为:
LONDON
LONDON
LONDON
TOKYO
TOKYO
TOKYO
TOKYO
WASHINGTON DC
WASHINGTON DC
WASHINGTON DC
我尝试使用第一个文件作为bash中的数组,并尝试使用第二个文件中的cat通过管道将其作为搜索功能输入到grep中。输出不等于数组的多个实例。我认为awk有一种使用数组的方法,但是最近几天我一直无法弄清楚。
与sed:
sed -f <(sed 's|\(.*\)=\(.*\)|s/\1/\2/|' file2) file1
输出:
LONDON LONDON LONDON 东京 TOKYO 东京 TOKYO 华盛顿特区 华盛顿特区 华盛顿特区
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句