gpt4 book ai didi

linux - 如何将用于列出重复文件的区分大小写的脚本转换为不区分大小写?

转载 作者:太空宇宙 更新时间:2023-11-04 11:25:12 25 4
gpt4 key购买 nike

此脚本将列出所有具有相同文件名的文件,即使它们位于不同的(子)目录或具有不同的文件扩展名(或根本没有扩展名):

declare -A array=() dupes=()
while IFS= read -r -d '' file; do
base=${file##*/} base=${base%.*}
if [[ ${array[$base]} ]]; then
dupes[$base]+=" $file"
else
array[$base]=$file
fi
done < <(find /the/dir -type f -print0)

for key in "${!dupes[@]}"; do
echo "$key: ${array[$key]}${dupes[$key]}"
done

( source )

我想做完全相同的事情,但也想以不同的大小写列出具有相同文件名的文件。这意味着所有这些文件都将被列为重复项:

/the/dir/file.txt
/the/dir/folder1/File
/the/dir/folder2/filE.JPG

最佳答案

您的 shell 脚本中需要这一行:

base=`echo $base | tr '[A-Z]' '[a-z]'`

这会将您所有的文件名转换为小写。瞧 - 不区分大小写的哈希键。

关于linux - 如何将用于列出重复文件的区分大小写的脚本转换为不区分大小写?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15232598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com