我怎样才能按照以下模式重命名所有文件:
thumb_f318d8a580ca5717d686a323b6c2ca0d.jpg0000777
thumb_f18d8aup90ca5717d686a323b6c2c5uh.jpg0000777
thumb_jessr8d8a580ca5717d68623etrtckks.jpg0000777
thumb_4hghd8a580ca5717d686a323b6c2ghjj.jpg0000777
....
到
thumb_f318d8a580ca5717d686a323b6c2ca0d.jpg
thumb_f18d8aup90ca5717d686a323b6c2c5uh.jpg
thumb_jer8d8a580ca5717d686a323etrtckks.jpg
thumb_4hghd8a580ca5717d686a323b6c2ghjj.jpg
....
答案1
使用 bash 变量和 for 循环:
for i in *;do mv $i ${i%0000777};done
当您用 {} 括住变量名并添加 % 符号时,它会返回变量的值,其中 % 后的所有内容都会被删除。
如果使用 # 符号,它将从字符串的开头删除。因此
for i in *;do mv $i ${i#thumb_};done
会从前面去掉 thumb_。
答案2
答案3
您没有提到操作系统,但根据您使用的标签,我假设是 *nix。
但是,如果您使用的是 Windows 常规 CMD 提示符:
ren *.jpg0000777 *.jpg
或 powershell:
Get-ChildItem *.jpg0000777 | Rename-Item -NewName { $_.Name -replace ".jpg0000777",".jpg" }