用于在bash中更改文件名前缀的脚本

Sun*_*Lim 6 bash awk sed

abcd_if_vb.c
abcd_if_av.c
Run Code Online (Sandbox Code Playgroud)

edfg_if_vb.c
edfg_if_av.c
Run Code Online (Sandbox Code Playgroud)

问题是捕获哪个文件有abcd前缀.

Ign*_*ams 11

并不是的.

for file in abcd*
do
  mv "$file" "edfg${file#abcd}"
done
Run Code Online (Sandbox Code Playgroud)

  • mv "$file" "${file/#abcd/edfg}" - 更优雅,恕我直言! (2认同)

dou*_*own 5

如果有rename,您可以使用重命名这些文件

rename abcd_ edfg_ abcd*
Run Code Online (Sandbox Code Playgroud)