Geo*_*rge 8 bash sed file-rename
我有一个目录,其中包含一堆名称如下的文件:
001234.jpg
001235.jpg
004729342.jpg
Run Code Online (Sandbox Code Playgroud)
我想从所有文件名中删除前导零,所以我将留下:
1234.jpg
1235.jpg
4729342.jpg
Run Code Online (Sandbox Code Playgroud)
我一直在尝试不同的sed配置,但我找不到合适的语法.有没有一种简单的方法可以列出目录中的所有文件,通过sed管道,然后将它们移动或复制到新文件名而不带前导零?
Sim*_*son 11
sed
本身就是错误的工具:你也需要使用一些shell脚本.
检查使用Linux页面重命名多个文件以获取一些想法.建议的一个想法是使用rename
perl脚本:
rename 's/^0*//' *.jpg
Run Code Online (Sandbox Code Playgroud)
cyb*_*org 10
for FILE in `ls`; do mv $FILE `echo $FILE | sed -e 's:^0*::'`; done
Run Code Online (Sandbox Code Playgroud)
在Bash中,可能是您的默认登录shell,不需要外部命令.
shopt -s extglob
for i in 0*[^0]; do mv "$i" "${i##*(0)}"; done
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10069 次 |
最近记录: |