大文字と小文字(大文字または小文字)に関係なく、ファイル名が重複しているディレクトリ内のすべてのファイルを検索する方法はありますか?
承認された回答:
GNUユーティリティ(または少なくともゼロで終了する行を処理できるセット)が利用可能な場合、別の答えには優れた方法があります:
find . -maxdepth 1 -print0 | sort -z | uniq -diz
注:出力にはゼロで終了する文字列が含まれます。さらに処理するために使用するツールは、それを処理できる必要があります。
ゼロで終了する行を処理するツールがない場合、またはそのようなツールが利用できない環境でコードが機能することを確認したい場合は、小さなスクリプトが必要です。
#!/bin/sh
for f in *; do
find . -maxdepth 1 -iname ./"$f" -exec echo ; | wc -l | while read count; do
[ $count -gt 1 ] && echo $f
done
done
この狂気とは何ですか?
クレイジーなファイル名に対してこれを安全にするテクニックの説明については、この回答を参照してください。