首页 归档 关于 learn love 工具

linux 子目录以及文件名改成小写

  1. 创建脚本rename-files.sh
#!/bin/bash
#print usage 
if [ -z $1 ];then
        echo "Usage :$(basename $0) parent-directory"
        exit 1
fi

#process all subdirectories and files in parent directory
all="$(find $1 -depth)"



for name in ${all}; do
        #set new name in lower case for files and directories
        new_name="$(dirname "${name}")/$(basename "${name}" | tr '[A-Z]' '[a-z]')"

        #check if new name already exists
        if [ "${name}" != "${new_name}" ]; then
                [ ! -e "${new_name}" ] && mv -T "${name}" "${new_name}"; echo "${name} was renamed to ${new_name}" || echo "${name} wasn't renamed!"
        fi
done

echo
echo
#list directories and file new names in lowercase
echo "Directories and files with new names in lowercase letters"
find $(echo $1 | tr 'A-Z' 'a-z') -depth

exit 0
  1. 执行脚本,将Files目录以及子目录和文件全都改成小写
chmod +x rename-files.sh
rename-files.sh Files     #Files 为目录名

原文链接

https://www.tecmint.com/rename-all-files-and-directory-names-to-lowercase-in-linux/