我有多个文件,/opt/rec/
我只想使用 bash 重命名其中的一部分。
原始文件名:
WK6LZTPR99999999_dig_2017-07-10 01:55:57.xy
我想将该目录中的所有文件更改为:
WK6LZTPR99999999_cur_2017-07-10 01:55:57.mp3
答案1
这是bash
解决方案。
for file in /path/to/*; do
nname="${file%%.*}.mp3" # strip last part of file till first . seen
echo mv "$file" "${nname//dig/cur}" # replace 'dig' with 'cur'
done
有了mmv
,就容易多了。
mmv '*_*_*.*' '#1_cur_#3.mp3'
或者与zmv
:
zmv -w '*_*_*.*' '$1_cur_$3.mp3'
答案2
和珀尔 改名命令:
rename 's/_dig_([^.]+)\.xy$/_cur_$1.mp3/' /opt/rec/*.xy
答案3
只需两步即可使用“重命名”命令:
cd /opt/rec/
rename -v "_dig_" "_cur_" *.xy
rename -v ".xy" ".mp3" *.xy