Unix awk:file.txt中与文件中任何字符串匹配的行
我有两个单独的.txt文件: list.txt,包含字符串列表:Unix awk:file.txt中与文件中任何字符串匹配的行,unix,awk,Unix,Awk,我有两个单独的.txt文件: list.txt,包含字符串列表: string1 string2 string3 和entries.txt,包含7个字段的不同行 name field2 field3 field4 field6 string1 field8 我需要从entries.txt(其第7个字段为==)中获取所有行,并将其添加到list.txt中的任何一行 我知道使用grep时,这是grep-F list.txt entries.txt,但我需要它特别位于第7个字段中,所以我想使用aw
string1
string2
string3
和entries.txt,包含7个字段的不同行
name field2 field3 field4 field6 string1 field8
我需要从entries.txt(其第7个字段为==)中获取所有行,并将其添加到list.txt中的任何一行
我知道使用grep时,这是grep-F list.txt entries.txt
,但我需要它特别位于第7个字段中,所以我想使用awk
因此,它类似于awk'$7==$(list.txt中的任何字符串)
如何编写
$(list.txt中的任何字符串)
部分?试试这个awk单行程序:
awk 'NR==FNR{a[$0];next}$7 in a' list.txt entries.txt
未测试,但应符合您的要求
注意:6美元还是7美元
你在问题中说,应该是
$7
,所以我用了$7
。但看看您的示例,它似乎应该是$6
?无论如何,您可以自己更改列索引。使用grep
它实际上是grep-Ff list.txt entries.txt
。