両方のファイルを比較し、最初の列を無視して行番号を印刷します。

両方のファイルを比較し、最初の列を無視して行番号を印刷します。

タブ区切りファイルの最初の列を無視して差分行番号を印刷するにはどうすればよいですか?

はい - 最初の列を無視し、行番号を印刷してファイル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)

おすすめ記事