重複ファイル名の大文字と小文字を区別せずに検索

重複ファイル名の大文字と小文字を区別せずに検索

大文字と小文字(大文字と小文字)に関係なく、重複したファイル名を持つディレクトリ内のすべてのファイルを見つける方法はありますか?

ベストアンサー1

利用可能なGNUユーティリティがある場合(または少なくとも0で終わる行を処理できるセット)もう一つの答え良い方法があります:

find . -maxdepth 1 -print0 | sort -z | uniq -diz

注:出力には0で終わる文字列があります。追加処理に使用するツールはそれを処理できる必要があります。

ゼロで終わる行を処理するためのツールがないか、またはこれらのツールが利用できない環境でコードが機能していることを確認するには、次の小さなスクリプトが必要です。

#!/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

この狂気は何ですか?バラよりこの回答奇妙なファイル名を安全にする技術の説明です。

おすすめ記事