查找大小写重复文件并 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

相关内容