2行のテキストファイルが2つあります。ファイル内の、他のファイルのテキストと一致しないすべての行を削除します。
file1の
2345678 sdfsdfsdfsf 10.00 dirfkdkfsdf XP
2345679 sdfsdfsdfsf 10.00 dirfkdkfsdf XP
2345680 sdfsdfsdfsf 10.00 dirfkdkfsdf XP
2345681 sdfsdfsdfsf 10.00 dirfkdkfsdf XP
2345682 sdfsdfsdfsf 10.00 dirfkdkfsdf XP
FILE2
2345678
2345679
は、私はこれで終わる必要があります。 私は、ファイル内の2 例をテキストを持っていないファイル1内のすべての行を削除したいですin file1
2345678 sdfsdfsdfsf 10.00 dirfkdkfsdf XP
2345679 sdfsdfsdfsf 10.00 dirfkdkfsdf XP
私はbashスクリプトでこれを行う必要があります。 sed、awk、何でも。 私はこれを試してみましたが、file1の
awk 'NR==FNR{a[$0];next} !($0 in a)' file2 file1
内のすべてのレコードは、ファイルのみがすでにキーでソートされている場合、これは標準であるFILE2
awk 'NR!=FNR{a[$0];next} !($0 in a)' file2 file1
こんにちは、awkはうまくいきますが、最初の列の代わりにfile1の3列の一致をfile2からキャッチしたいのですか? –
これは異なる入力/出力で異なる質問になります。結合バージョンについては、 '-j 3'を指定し、' awk'に '$ 3'を' $ 3'に変更する必要があります – karakfa