重命名 BASH 中的多个文件
我想重命名文件编号:我有一个带有“???”的文件格式我需要将它们放入'??????'。
myfile_100_asd_4 to myfile_0100_asd_4
谢谢 阿曼.
不太优雅的解决方案:
#/bin/bash
snap=`ls -t *_???`
c=26
for k in $snap
do
end=${k}
echo mv $k ${k%_*}_0${k##*_}_asd_4
(( c=c-1 ))
done
这对我有用,因为我也有 myfile_100 文件。
I would like to rename files numbering: I have a files with '???' format I need to put them in '????'.
myfile_100_asd_4 to myfile_0100_asd_4
Thanks
Arman.
Not so elegant SOLUTION:
#/bin/bash
snap=`ls -t *_???`
c=26
for k in $snap
do
end=${k}
echo mv $k ${k%_*}_0${k##*_}_asd_4
(( c=c-1 ))
done
This works for me because I have myfile_100 files as well.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
使用
rename
,perl 附带的一个小脚本:如果在表达式之前传递
-n
参数,它只会打印它会执行的重命名操作,不会执行任何操作。这样您可以在重命名文件之前验证它是否正常工作:Use
rename
, a small script that comes with perl:If you pass it the
-n
parameter before the expression it only prints what renames it would have done, no action is taken. This way you can verify it works ok before you rename your files:只需使用外壳,
just use the shell,
有一个名为 ren (manpage) 的 UNIX 应用程序,它支持使用搜索和替换模式重命名多个文件。您应该能够拼凑出一个模式,将额外的 0 注入到文件名中。
编辑:带有下载链接的项目页面可以在 Freshmeat 找到。
There's a UNIX app called ren (manpage) which supports renaming multiple files using search and substitution patterns. You should be able to cobble together a pattern that will inject that extra 0 into the filename.
Edit: Project page w/ download link can be found at Freshmeat.
尝试:
Try: