同じ行に同じのmd5sumと印刷のものを持つファイルを検索します。私は1つの例で説明し、同様に私はタイトルに書かれたものをやろうとしている
ツリーディレクトリ: (ABCDHFGが私のファイルです)
このコマンドでdir0/
dir0/A //MD5sum equal MD5sum B
dir0/C
dir0/D // MD5sum equal MD5sum F G
dir0/dir1/B // MD5sum equal MD5sum A
dir0/dir1/H
dir0/dir1/dir2/G //MD5sum equal MD5sum F D
dir0/dir1/dir2/F //MD5sum equal MD5sum G D
:私はのMD5sumを計算し、DIR0およびサブディレクトリ内のすべてのファイルを検索し
find dir0/ -type f -print0 | xargs -0 md5sum | sort | uniq -w32 --all-repeated=prepend | awk '{ print $2 }'
は、ソート、ファイルのみを選択することは等しいとに分けグループ、パスのみのファイルを印刷します。
[OK]を、この作品、私はこの出力を持っている:
dir0/A ]
dir0/dir1/B ] first group
dir0/D ]
dir0/dir1/dir2/F ]
dir0/dir1/dir2/G ] second group
は、どのように私は次のように出力を持つことができます(同じラインで同じのMD5sumを持つ各ファイルを、明らかに「第一、第二なし?。これを行うには...グループ」)
dir0/A dir0/dir1/B ] first group
dir0/D dir0/dir1/dir2/F dir0/dir1/dir2/G ] second group
サンプル入力がなければ、確かに言うのは難しいですが、 'awk'を改行せずに出力したいのですか? awk '{print $ 2}' 'の代わりに' awk '{printf "%s" $ 2}' 'を試してください。 – miken32