我有很多文件在他们的名字中有一个共享模式,我想删除.例如,我有文件"a_file000.tga"和"another_file000.tga".我想对那些会从名称中删除模式"000"的文件执行操作,从而产生新名称"a_file.tga"和"another_file.tga".
Pau*_*ce. 59
Bash可以做sed类似的替换:
for file in *; do mv "${file}" "${file/000/}"; done
Run Code Online (Sandbox Code Playgroud)
mou*_*iel 51
试试这个(这也适用于普通的旧Bourne sh):
for i in *000.tga
do
mv "$i" "`echo $i | sed 's/000//'`"
done
Run Code Online (Sandbox Code Playgroud)
两个参数都用引号括起来以支持文件名中的空格.
一个非bash解决方案,因为我知道两张快速的海报已经涵盖了:
有一个很好的短perl程序rename,默认安装在某些系统上(其他系统的重命名程序不太有用).它允许您使用perl正则表达式进行重命名,例如:
rename 's/000//' *000*.tga
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
43967 次 |
| 最近记录: |