我需要重命名像
这样的文件filename-367519.mp4
otherfilename-367515.mp4
andotherfilename-377530.mp4
到
367519-filename.mp4
...
答案 0 :(得分:1)
我为你写了一个简单的脚本。
#!/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