【发布时间】:2018-01-30 23:37:31
【问题描述】:
我需要重命名文件,如
filename-367519.mp4
otherfilename-367515.mp4
andotherfilename-377530.mp4
到
367519-filename.mp4
...
【问题讨论】:
-
你的谷歌搜索结果是什么?您从有关文件重命名的所有其他问题中学到了什么?
我需要重命名文件,如
filename-367519.mp4
otherfilename-367515.mp4
andotherfilename-377530.mp4
到
367519-filename.mp4
...
【问题讨论】:
我为你写了一个简单的脚本。
#!/bin/bash
full_filename=$(basename $1)
filename_noextension="${full_filename%%.*}"
filename=$(echo "$filename_noextension" | cut -d"-" -f1);
number=$(echo "$filename_noextension" | cut -d"-" -f2);
extension="${full_filename##*.}"
result="$number-$filename.$extension"
mv $1 $result
运行它:
bash ./rename.sh filename-367519.mp4
请注意,命令cut 使用符号- 作为分隔符,后来它在result="$number-$filename.$extension" 中仅作为字符串使用。
参考: http://wiki.bash-hackers.org/syntax/pe#substring_removal
【讨论】:
echo $f | tr ' ' '_' 替换空格完成比使用相同的循环我使用你的代码非常感谢。