【发布时间】:2014-02-02 20:34:16
【问题描述】:
我需要使用 bash 脚本将特定目录中所有文件的所有名称更改为小写。此外,我不想更改子目录的名称,因为它是在 How to rename all folders and files to lowercase on Linux? 中提出的
【问题讨论】:
我需要使用 bash 脚本将特定目录中所有文件的所有名称更改为小写。此外,我不想更改子目录的名称,因为它是在 How to rename all folders and files to lowercase on Linux? 中提出的
【问题讨论】:
for file in *; do
[[ -f "$file" ]] && mv "$file" "${file,,}" 2>/dev/null
done
我不确定哪个版本的 bash 引入了 ${var,,} 扩展。
【讨论】:
试试这个:
for file in * ; do lower=$(echo $file | tr A-Z a-z) && [[ $lower != $file ]] && echo mv $file $lower ;done
它将回显您需要运行的命令。首先检查它们,然后您可以删除回声并再次运行它以执行实际动作
【讨论】:
尝试以下方法:
for i in $(find . -maxdepth 1 -type f -name "*[A-Z]*"); do mv "$i" "$(echo $i | tr A-Z a-z)"; done
[1] refer
【讨论】: