批量修改文件名
2021-04-14 本文已影响0人
AydanLinux
我们知道Linux系统中要修改文件名我们可以使用mv
命令,但是如何批量修改文件名呢?难不成你一个个修改?如果文件有100个呢?1000个呢?10000个呢?接下来我们就来解决这个问题。
注意:
本篇文章会用到命令mv
、rename
、sed
和for
循环,请先熟悉它们之后再来阅读。
新建文件夹brn (Batch ReName),并在里面准备100个以.jpg结尾的文件
1.jpg 8.jpg 15.jpg 22.jpg 29.jpg 36.jpg 43.jpg 50.jpg 57.jpg 64.jpg 71.jpg 78.jpg 85.jpg 92.jpg 99.jpg
2.jpg 9.jpg 16.jpg 23.jpg 30.jpg 37.jpg 44.jpg 51.jpg 58.jpg 65.jpg 72.jpg 79.jpg 86.jpg 93.jpg 100.jpg
3.jpg 10.jpg 17.jpg 24.jpg 31.jpg 38.jpg 45.jpg 52.jpg 59.jpg 66.jpg 73.jpg 80.jpg 87.jpg 94.jpg
4.jpg 11.jpg 18.jpg 25.jpg 32.jpg 39.jpg 46.jpg 53.jpg 60.jpg 67.jpg 74.jpg 81.jpg 88.jpg 95.jpg
5.jpg 12.jpg 19.jpg 26.jpg 33.jpg 40.jpg 47.jpg 54.jpg 61.jpg 68.jpg 75.jpg 82.jpg 89.jpg 96.jpg
6.jpg 13.jpg 20.jpg 27.jpg 34.jpg 41.jpg 48.jpg 55.jpg 62.jpg 69.jpg 76.jpg 83.jpg 90.jpg 97.jpg
7.jpg 14.jpg 21.jpg 28.jpg 35.jpg 42.jpg 49.jpg 56.jpg 63.jpg 70.jpg 77.jpg 84.jpg 91.jpg 98.jpg
- rename
用法:rename 旧名称 新名称 所要修改文件
[root@cos brn]# rename jpg mp4 *
1.mp4 8.mp4 15.mp4 22.mp4 29.mp4 36.mp4 43.mp4 50.mp4 57.mp4 64.mp4 71.mp4 78.mp4 85.mp4 92.mp4 99.mp4
2.mp4 9.mp4 16.mp4 23.mp4 30.mp4 37.mp4 44.mp4 51.mp4 58.mp4 65.mp4 72.mp4 79.mp4 86.mp4 93.mp4 100.mp4
3.mp4 10.mp4 17.mp4 24.mp4 31.mp4 38.mp4 45.mp4 52.mp4 59.mp4 66.mp4 73.mp4 80.mp4 87.mp4 94.mp4
4.mp4 11.mp4 18.mp4 25.mp4 32.mp4 39.mp4 46.mp4 53.mp4 60.mp4 67.mp4 74.mp4 81.mp4 88.mp4 95.mp4
5.mp4 12.mp4 19.mp4 26.mp4 33.mp4 40.mp4 47.mp4 54.mp4 61.mp4 68.mp4 75.mp4 82.mp4 89.mp4 96.mp4
6.mp4 13.mp4 20.mp4 27.mp4 34.mp4 41.mp4 48.mp4 55.mp4 62.mp4 69.mp4 76.mp4 83.mp4 90.mp4 97.mp4
7.mp4 14.mp4 21.mp4 28.mp4 35.mp4 42.mp4 49.mp4 56.mp4 63.mp4 70.mp4 77.mp4 84.mp4 91.mp4 98.mp4
- sed &mv
[root@cos brn]# ls * | sed -r 's/(.*).doc/mv & \1.png/' | bash
1.png 8.png 15.png 22.png 29.png 36.png 43.png 50.png 57.png 64.png 71.png 78.png 85.png 92.png 99.png
2.png 9.png 16.png 23.png 30.png 37.png 44.png 51.png 58.png 65.png 72.png 79.png 86.png 93.png 100.png
3.png 10.png 17.png 24.png 31.png 38.png 45.png 52.png 59.png 66.png 73.png 80.png 87.png 94.png
4.png 11.png 18.png 25.png 32.png 39.png 46.png 53.png 60.png 67.png 74.png 81.png 88.png 95.png
5.png 12.png 19.png 26.png 33.png 40.png 47.png 54.png 61.png 68.png 75.png 82.png 89.png 96.png
6.png 13.png 20.png 27.png 34.png 41.png 48.png 55.png 62.png 69.png 76.png 83.png 90.png 97.png
7.png 14.png 21.png 28.png 35.png 42.png 49.png 56.png 63.png 70.png 77.png 84.png 91.png 98.png
- for &mv
[root@cos rename]# for name in `ls *`; do mv $name ${name%.png}.xml; done
1.xml 8.xml 15.xml 22.xml 29.xml 36.xml 43.xml 50.xml 57.xml 64.xml 71.xml 78.xml 85.xml 92.xml 99.xml
2.xml 9.xml 16.xml 23.xml 30.xml 37.xml 44.xml 51.xml 58.xml 65.xml 72.xml 79.xml 86.xml 93.xml 100.xml
3.xml 10.xml 17.xml 24.xml 31.xml 38.xml 45.xml 52.xml 59.xml 66.xml 73.xml 80.xml 87.xml 94.xml
4.xml 11.xml 18.xml 25.xml 32.xml 39.xml 46.xml 53.xml 60.xml 67.xml 74.xml 81.xml 88.xml 95.xml
5.xml 12.xml 19.xml 26.xml 33.xml 40.xml 47.xml 54.xml 61.xml 68.xml 75.xml 82.xml 89.xml 96.xml
6.xml 13.xml 20.xml 27.xml 34.xml 41.xml 48.xml 55.xml 62.xml 69.xml 76.xml 83.xml 90.xml 97.xml
7.xml 14.xml 21.xml 28.xml 35.xml 42.xml 49.xml 56.xml 63.xml 70.xml 77.xml 84.xml 91.xml 98.xml