有一个子目录,其名称存储在名为temp
. 我想将该目录中的所有文件重命名为其小写版本。
所以我写了这段代码:
mv ls $temp 'ls $temp | tr [:upper:][:lower:] [:lower:][:upper:]'
但它不起作用。我怎样才能改变它?
你需要一个循环。
您可以使用Bash 大括号扩展来转换为小写,而不是tr
每次都创建一个额外的过程:
#!/bin/bash
cd "$temp"
for f in *; do
mv "$f" "${f,,}"
done
如果要反转文件名每个字符的大小写(感谢@SLePort 的提示):
#!/bin/bash
cd "$temp"
for f in *; do
mv "$f" "${f~~}"
done
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句