bash内置的分隔符 是包含有 空格的。
加上一这句分隔符改成换行
IFS=$'\n'
或者用read配合while
while read line
do
#dosomething with $line
done < filelist.txt
本帖最后由 legs 于 2020-04-13 08:48 编辑
你可以直接把"-.*"替换成".mp4",而不用分组法。
你也可以直接一步到位,如果要给当前目录下所有的mp4文件去掉-后面的所有字符,先这样看一下:
perl -E'$n=$_=~s#-.*#.mp4#r,say"$_->$n" for<*.mp4>'
没有问题了,再用rename
perl -E'$n=$_=~s#-.*#.mp4#r,rename$_,$n for<*.mp4>'
或者你的rename是perl版的,可以直接rename改过来。 本帖最后由 wh7211 于 2020-04-15 13:46 编辑
回复 1# cwd0204
awk '{a=$0;sub(/.{12}\.mp4$/,".mp4");system("mv \""a"\" \""$0"\"")}' filelist.txt
页:
[1]