sur*_*ana 8 command-line batch-rename
我在通过用旧名称的前 10 个字符替换名称来重命名多个文件时遇到问题。我试图在互联网上找到解决方案,但没有找到答案。
例子:
原始文件名:
1208605001abAcd.jpg
1201230111FbcAdee.jpg
11512345714x611aaa.jpg
Run Code Online (Sandbox Code Playgroud)
我想要达到的目标:
1208605001.jpg
1201230111.jpg
1151234571.jpg
Run Code Online (Sandbox Code Playgroud)
mur*_*uru 16
你可以试试:
rename -n 's/(.{10}).*(\.jpg)$/$1$2/' *.jpg
Run Code Online (Sandbox Code Playgroud)
例子:
$ rename -n 's/(.{10}).*(\.jpg)$/$1$2/' *.jpg
11512345714x611aaa.jpg -> 1151234571.jpg
1201230111FbcAdee.jpg -> 1201230111.jpg
1208605001abAcd.jpg -> 1208605001.jpg
Run Code Online (Sandbox Code Playgroud)
该-n
选项仅模拟命令,以便您可以验证更改。在没有它的情况下运行以实际进行更改。
正则表达式(.{10}).*(\.jpg)
包括:
.{10}
- 任何 10 个字符,在一个组中(…)
,然后是.*
- 任意数量的任意字符后跟\.jpg$
-$
文件名末尾 ( )的扩展名,在第二组中替换$1$2
只是第一组,然后是第二组。
您只能使用 bash:
for FILE in *.jpg ; do mv "${FILE}" "${FILE:0:10}.jpg" ; done
Run Code Online (Sandbox Code Playgroud)
通过一些工作,您可以获得文件扩展名并自动添加到新名称。
归档时间: |
|
查看次数: |
11448 次 |
最近记录: |