当前位置:首页 > Linux
Linux 系统下批量修改文件名
来源:靑龍一笑的博客  作者:靑龍一笑  发布时间:2021-02-20 11:13:39  点击量:563  评论:0

    假设有这么一个需求,要将所有 .JPG 修改为 .jpg。

root@RicenOS:~# touch {0,2,4,6,8}.JPG {1,5,9}.png {3,7}.gif
root@RicenOS:~# ls
0.JPG  1.png  2.JPG  3.gif  4.JPG  5.png  6.JPG  7.gif  8.JPG  9.png

    首先,要找出所有的 .JPG 文件:

root@RicenOS:~# for i in *.JPG; do echo $i; done
0.JPG
2.JPG
4.JPG
6.JPG
8.JPG

    修改文件名使用 mv 命令:

mv -f 原文件名 新文件名

    由于是批量修改,通常使用 -f 参数来强制修改,表示如果有同名文件则覆盖。如果不希望被覆盖,则不要添加 -f 参数,而要使用 -i 参数。
    接着,需要构造新文件名:

root@RicenOS:~# for i in *.JPG; do echo $i | sed 's/JPG/jpg/'; done
0.jpg
2.jpg
4.jpg
6.jpg
8.jpg

    综合以上命令,将所有 .JPG 修改为 .jpg 命令如下:

root@RicenOS:~# for i in *.JPG; do mv -f $i `echo $i | sed 's/JPG/jpg/'`; done
root@RicenOS:~# ls
0.jpg  1.png  2.jpg  3.gif  4.jpg  5.png  6.jpg  7.gif  8.jpg  9.png
版权所有 © 2005-2023 靑龍一笑的博客  Powered by C.S.Ricen
Copyright © 2005-2023 by www.ricensoftwares.com.cn  All Rights Reserved.

欢迎光临本站,这里是靑龍一笑的博客。

因资金匮乏,本站已迁到国外的免费空间,可能导致本站的访问速度较慢,由此给您带来的不便,敬请谅解。

您可以通过下方的“支持本站建设”链接,给本站提供资金支持。

Free Web Hosting