【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
我的目录下有一些图片文件,都是以大写的JPG为后缀名的。可上传到QQ空间去时,QQ空间只能识别.jpg为后缀名的,大写的识别不了。所以,我想要将所有图片文件的后缀名换成小写的。
for f in $(ls); do mv $f ${f/.JPG/.jpg}; done结果出问题了。有部分文件名中间有空格。如"IMG 0054.JPG"
请问这种问题该如何解决?我很关心生成数组时,数组成员中间有空格时应该如何处理。
先谢了!
我今天想到了一个办法,供大家参考:
for img_file in `ls *.JPG`
do
new_name=$( echo $img_file | sed 's/JPG$/jpg/' )
echo $new_name
mv $img_file $new_name
done
works for me on Ubuntu with GNU bash, version 4.2.10, thanks.
UBUNTU下可以试试这个(只做后缀大小写转换)
rename 'y/\.cpp$/\.CPP/' *.cpp