大文字と小文字、rm 大文字で重複ファイルを検索する

大文字と小文字、rm 大文字で重複ファイルを検索する

大文字と小文字で繰り返される複数の画像ファイルがあります(例:file.jpg File.jpg)。すべての大文字を完全に削除する場合を除き、以下のスクリプトが必要です。 fslintがこれを行うことができることを知っていますが、端末が多すぎるため、端末で実行したいと思います。

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

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

ベストアンサー1

次のスクリプトは必要な操作を実行できます。 (実際に行うことではなく、実行することをエコーするように設定したので表示できます。)

#!/bin/bash

# This variable will always be in lower case.  That means that if you do
# l=Hello the result will be $l==hello.
typeset -l l

for f in *
do
  l=$f # Forces to lowercase due to typeset
  if [ "$l" != "$f" -a -e "$l" ]
  then
    echo rm "$f"
  fi
done

たとえば、次のようになります。

$ ls
FIle.JpG  File.jpg  file.jpg

$ rem_case_dup.sh 
rm FIle.JpG
rm File.jpg

おすすめ記事