異なるファイルの2つのフィールドを比較し、順序に関係なく一致する項目のみを返します。

異なるファイルの2つのフィールドを比較し、順序に関係なく一致する項目のみを返します。

File1.txt ファイルが 2 つあります。

Column1    | Column2
username2  | timestamp
username1  | timestamp
username4  | timestamp

ファイル2.txt:

Column1    | Column2
username1  | timestamp
username3  | timestamp
username2  | timestamp

Column1の値と一致する位置を、Column1の内容のみを表示する新しいファイルに出力したいと思います。 Column1 の値は file1.txt と file2.txt の間で常に同じ順序になっているわけではなく、両方のファイルにいくつかの項目がありません。

出力-File3.txt

列 1
ユーザー名 1
ユーザー名 2

ベストアンサー1

使用awk

awk -F ' *| *' 'NR==FNR{a[$1];next}($1 in a)' file1 file2

配列はa最初の file1 列の内容で埋められます。次のファイルを解析すると、アイテムの配列に一致する行のみが印刷されます。

おすすめ記事