我正在尝试从文件中检索匹配的行,但是具有“索引”或要检索的匹配项列表的文件也具有重复项,我也想打印出重复项。
例子:
文件1(索引文件或要匹配的字符串列表)
abc
tgf
abc
ggg
aaa
fff
文件2(我要为文件1中的每个匹配项检索的内容)
Fred 1 3 abc
Amy 2 4 ggg
Dan 5 6 tgf
Mike 9 1 fff
Steve 2 1 aaa
我想要的结果将是(顺序并不重要,只是我匹配每一行):
Fred 1 3 abc
Dan 5 6 tgf
Fred 1 3 abc
Amy 2 4 ggg
Steve 2 1 aaa
Mike 9 1 fff
我很熟悉,并尝试了grep,如下所示,但它不会打印重复的条目。
grep -Fwf file1.txt file2.txt
Fred 1 3 abc
Amy 2 4 ggg
Dan 5 6 tgf
Mike 9 1 fff
Steve 2 1 aaa
通过 awk
awk 'NR==FNR{A[$4]=$0;next}{print A[$1]}' file2.txt file1.txt
或sort
ed通过join
以下方式输出:
join -o 2.1 2.2 2.3 2.4 -2 4 <(sort file1.txt) <(sort -k4 file2.txt)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句