比如下面csv目录中的文件
lf-orders-2018-11-20(1700).csv
lf-orders-2018-11-20 17002.csv
文件名中带有空格,和夹杂着中英文圆括号,需要将他们替换为下划线_
生成下面的:
lf-orders-2018-11-20_1700_.csv
lf-orders-2018-11-20_17002.csv
SAVEIFS=$IFS
IFS=$'\n'
for file in `ls csv | grep .csv`
do
newfile=`echo ${file} | sed 's/ /_/g'| sed 's/(/_/g'| sed 's/)/_/g'`
# echo $newfile
mv csv/$file csv/$newfile
done
# revert IFS
IFS=$SAVEIFS
我现在已经有了上面的脚本,不太好用,
会报mv: cannot stat 'csv/lf-orders-2018-11-20 17002 .csv'$'\n''lf-orders-2018-11-20'$'\357\274\210''1700).csv': No such file or directory
求更简洁的写法,谢谢!
rename
命令了解下