文件批量重命名的几种姿势
写脚本的时候,手残多打了一个字母,原本的日志文件后缀 .txt
误写成了 .txtv
,现在要想办法把这一片文件改回 .txt
后缀。这里记录下可用的方法。
TLDR; for - mv
rename 有一定门槛
rename 's/.txtv$/.txt/' *.txtv
for + ls -mv 简单易学
把错误的 .txtv
后缀,改成正确的 .txt
后缀:
for f in $(ls *.txtv); do mv "${f}" "${f::-5}.txt"; done
for - mv 简单易学
for 查找文件的时候,ls
其实可以直接省略,简化成以下操作。
把错误的 .txtv
后缀,改成正确的 .txt
后缀:
for f in *.txtv; do mv "${f}" "${f::-5}.txt"; done
这种是直接用字符串处理截断了后面的几个字符,或者还可以直接去指定后缀,看起来可读性更好一些:
for f in *.txtv; do mv "${f}" "${f%.txtv}.txt"; done
参考
删后缀、改后缀、改大小写 等更多操作请参见: