如果 fileB (仅一列)不包含 fileA 中第 1 列的字符串,我需要从有两列的 fileA 中删除行。
例子。这是文件A:
a b
a c
a d
e f
g h
和文件B:
a
b
g
在这里,输出应该是:
a b
a c
a d
g h
答案1
join fileA fileB
假设文件在第一列上排序(它们在您的示例中)。
答案2
awk 'FNR == NR { onecol[$0]=1;next; }; $1 in onecol' fileB fileA
答案3
awk '{if(NR==FNR) a[$1]=$1}{if($1==a[$1] && NR>FNR) print $0}' fileB.txt fileA.txt