以下のスクリプトでは、awk
ファイルの名前を変更すると、2つの異なる結果が表示されます。 awkが出力をコンソールに書き込む方法を知りたいです。それぞれのケースで異なる結果が得られます。
ファイル1:
abc bca cdb
abc few bre
bbc bba cdb
cbc frw bte
ファイル2:
abc bca cdb
gbc fiw bpe
bbc bca cdb
cbc frw bte
スクリプト:
awk 'FNR==NR {a[$1$2$3]++;next};!(($1$2$3) in a)' **file1 file2**
出力:
gbc fiw bpe
bbc bca cdb
スクリプト:
awk 'FNR==NR {a[$1$2$3]++;next};!(($1$2$3) in a)' **file2 file1**
出力:
abc few bre
bbc bba cdb
答え1
file2
最初のコマンドは で見つからない行を提供し、2 番目のコマンドは で見つからfile1
ない行を提供します。file1
file2
与えられたデータのコードは次のようになります。
awk 'FNR==NR { a[$0]++; next } !($0 in a)'
a
次の配列はどこにありますか?最初文書。最後の条件は、「最初のファイルで行が見つからない場合は(2番目のファイルから)行を印刷してください」です。