我有一个包含空格和各种字符的 csv 文件目录。我如何重命名它们?下面报错。
#! /bin/bash
cd DirectoryName
for file in *.csv; do
#echo $file
filename=${file%.*}
file_clean=${filename//[ ()$+&\.\-\'\,]/_}
final= "$file_clean.csv"
mv "$file" $final
done
cd ..
谢谢!
更新:(这个有效)
#! /bin/bash
cd DirectoryName
for file in *.csv; do
#echo $file
filename=${file%.*}
file_clean=${filename//[ ()$+&\.\-\'\,]/_}
final= "$file_clean.csv"
mv "$file" $final
done
cd ..
最佳答案
当然可以。您没有引用替换,并且您对 $final
的分配不正确。引用所有替换用法,并删除等号后的空格。
关于regex - 帮助 shell 脚本 - 重命名目录中的文件名(删除特殊字符)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3073433/