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 列の内容で埋められます。次のファイルを解析すると、アイテムの配列に一致する行のみが印刷されます。
答え2
両方のファイルから列1を抽出してソートし、重複行を見つけます。
cut -d" " -f1 File1.txt File2.txt | sort | uniq -d
答え3
比較する前に2つのファイルを並べ替えてください。
sort f1 > f1s
sort f2 > f2s
diff f1s f2s