Unix awk:file.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

我有两个单独的.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个字段中,所以我想使用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