cwd0204 发表于 2020-04-12 17:16

cfwyy 发表于 2020-04-13 08:43

本帖最后由 cfwyy 于 2020-04-13 08:46 编辑

bash内置的分隔符 是包含有 空格的。
加上一这句分隔符改成换行
IFS=$'\n'


或者用read配合while
while read line
do
    #dosomething with $line
done < filelist.txt



legs 发表于 2020-04-13 08:44

本帖最后由 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改过来。

cwd0204 发表于 2020-04-14 22:14

wh7211 发表于 2020-04-15 13:41

本帖最后由 wh7211 于 2020-04-15 13:46 编辑

回复 1# cwd0204


awk '{a=$0;sub(/.{12}\.mp4$/,".mp4");system("mv \""a"\" \""$0"\"")}' filelist.txt

cwd0204 发表于 2020-04-20 15:19

页: [1]
查看完整版本: 重命名文件