1つのディレクトリに複数のファイルがあり、各ファイルで重複した行を見つけてファイル名を表示して、重複したファイルを識別する必要があります。
私は試した:for i in *.*;do sort $i | uniq -d ; done
重複した行が表示されますが、ファイル名を表示して重複したファイルを識別するにはどうすればよいですか?
上記のコマンドはcsv、.txtファイルでのみ機能します。 .xlsxファイルを確認する他の方法はありますか?
ベストアンサー1
sed
- にすでに存在するプレフィックスを使用して、各行にプレフィックスを追加できます$i
。
これにより、トリックを実行できます。
for i in *.*; do sort $i|uniq -d |sed -e "s/^/$i:/"; done
読みやすくするために拡張されました:
for i in *.*; do
sort $i | uniq -d | sed -e "s/^/$i:/";
done
- xlsxファイルは実際にはファイルのzipディレクトリなので、xlsxを解凍して.xlsxの下の内容を見ることができます
file/xl/worksheets/sheet1.xml
。ただし、これらのファイルはxml形式なので、処理する前に解析する必要があります。