文件批量重命名的几种姿势

文件批量重命名的几种姿势

写脚本的时候,手残多打了一个字母,原本的日志文件后缀 .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

参考

删后缀、改后缀、改大小写 等更多操作请参见:

https://www.cnblogs.com/azureology/p/12849907.html

posted @ 2021-05-17 12:45  与MPI做斗争  阅读(280)  评论(0编辑  收藏  举报