タブ区切りファイルの最初の列を無視して差分行番号を印刷するにはどうすればよいですか?
はい - 最初の列を無視し、行番号を印刷してファイル1とファイル2を比較します。ファイル2に存在する差分レコードの場合。
ファイル1から:
user1 fistname Lastnamename
user2 Johnny Depp
user3 Tom Cruise
user4 Leonardo DiCaprio
user5 Sylvester Stallone
そして
ファイル2から:
user10 fistname Lastnamename
user2 Johnny Depp
user30 Tom' Cruise
user4 Nicolas Cage
user50 Sylvester Stallone
予想される結果:- file2の違いは行番号3,4です。
比較するファイルサイズはGB単位で、ファイルはタブで区切られます。
ベストアンサー1
diffコマンドとcutを使用して、2つのファイルの違いを見つけることができます。
diff <(cut -f2 -d$'\t' file1) <(cut -f2 -d$'\t' file2)
出力は次のとおりです
3,4c3,4
< Tom
< Leonardo
---
> Tom'
> Nicolas
より多くの重複レコードが気になる場合は、上記のコマンドを使用してsort -u
重複レコードを削除し、他のファイルとの違いを見つけます。コマンドは次のとおりです。
diff <(cut -f2 -d$'\t' file1|sort -u) <(cut -f2 -d$'\t' file2|sort -u)