他のファイルに存在しない行に基づいてファイルから行を削除します。

他のファイルに存在しない行に基づいてファイルから行を削除します。

fileB(単一の列)にfileAの列1の文字列が含まれていない場合は、2つの列を持つ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

関連情報