대문자와 소문자 및 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

관련 정보