首页 > Linux Shell > Linux下如何批量修改文件名
2018
11-28

Linux下如何批量修改文件名

对于在Linux中修改文件名的方式一般我们会用mv命令进行修改,但是mv命令是无法处理大量文件修改名称。

但是在处理大量文件的时候该如何进行批量修改呢?
方法一:mv配合for循环方式进行修改

[root@show day74]# for name in `ls *.txt`;do echo $name ${name%.txt}.jpg;done
100.txt 100.jpg
10.txt 10.jpg
11.txt 11.jpg
12.txt 12.jpg
13.txt 13.jpg
14.txt 14.jpg
15.txt 15.jpg
16.txt 16.jpg
17.txt 17.jpg
18.txt 18.jpg
19.txt 19.jpg
1.txt 1.jpg
20.txt 20.jpg
21.txt 21.jpg
22.txt 22.jpg
23.txt 23.jpg
24.txt 24.jpg
25.txt 25.jpg
26.txt 26.jpg
27.txt 27.jpg
28.txt 28.jpg
29.txt 29.jpg
2.txt 2.jpg
30.txt 30.jpg
31.txt 31.jpg
32.txt 32.jpg
33.txt 33.jpg
34.txt 34.jpg
35.txt 35.jpg
36.txt 36.jpg
37.txt 37.jpg
38.txt 38.jpg
39.txt 39.jpg
3.txt 3.jpg
40.txt 40.jpg
41.txt 41.jpg
42.txt 42.jpg
43.txt 43.jpg
44.txt 44.jpg
45.txt 45.jpg
46.txt 46.jpg
47.txt 47.jpg
48.txt 48.jpg
49.txt 49.jpg
4.txt 4.jpg
50.txt 50.jpg
51.txt 51.jpg
52.txt 52.jpg
53.txt 53.jpg
54.txt 54.jpg
55.txt 55.jpg
56.txt 56.jpg
57.txt 57.jpg
58.txt 58.jpg
59.txt 59.jpg
5.txt 5.jpg
60.txt 60.jpg
61.txt 61.jpg
62.txt 62.jpg
63.txt 63.jpg
64.txt 64.jpg
65.txt 65.jpg
66.txt 66.jpg
67.txt 67.jpg
68.txt 68.jpg
69.txt 69.jpg
6.txt 6.jpg
70.txt 70.jpg
71.txt 71.jpg
72.txt 72.jpg
73.txt 73.jpg
74.txt 74.jpg
75.txt 75.jpg
76.txt 76.jpg
77.txt 77.jpg
78.txt 78.jpg
79.txt 79.jpg
7.txt 7.jpg
80.txt 80.jpg
81.txt 81.jpg
82.txt 82.jpg
83.txt 83.jpg
84.txt 84.jpg
85.txt 85.jpg
86.txt 86.jpg
87.txt 87.jpg
88.txt 88.jpg
89.txt 89.jpg
8.txt 8.jpg
90.txt 90.jpg
91.txt 91.jpg
92.txt 92.jpg
93.txt 93.jpg
94.txt 94.jpg
95.txt 95.jpg
96.txt 96.jpg
97.txt 97.jpg
98.txt 98.jpg
99.txt 99.jpg
9.txt 9.jpg


[root@laofuxi jpg]# for name in `ls *.txt`;do mv $name ${name%.txt}.jpg;done
[root@laofuxi jpg]# ls
100.jpg  16.jpg  22.jpg  29.jpg  35.jpg  41.jpg  48.jpg  54.jpg  60.jpg  67.jpg  73.jpg  7.jpg   86.jpg  92.jpg  99.jpg
10.jpg   17.jpg  23.jpg  2.jpg   36.jpg  42.jpg  49.jpg  55.jpg  61.jpg  68.jpg  74.jpg  80.jpg  87.jpg  93.jpg  9.jpg
11.jpg   18.jpg  24.jpg  30.jpg  37.jpg  43.jpg  4.jpg   56.jpg  62.jpg  69.jpg  75.jpg  81.jpg  88.jpg  94.jpg
12.jpg   19.jpg  25.jpg  31.jpg  38.jpg  44.jpg  50.jpg  57.jpg  63.jpg  6.jpg   76.jpg  82.jpg  89.jpg  95.jpg
13.jpg   1.jpg   26.jpg  32.jpg  39.jpg  45.jpg  51.jpg  58.jpg  64.jpg  70.jpg  77.jpg  83.jpg  8.jpg   96.jpg
14.jpg   20.jpg  27.jpg  33.jpg  3.jpg   46.jpg  52.jpg  59.jpg  65.jpg  71.jpg  78.jpg  84.jpg  90.jpg  97.jpg
15.jpg   21.jpg  28.jpg  34.jpg  40.jpg  47.jpg  53.jpg  5.jpg   66.jpg  72.jpg  79.jpg  85.jpg  91.jpg  98.jpg

方法二:sed命令

[root@laofuxi jpg]# ls *jpg|sed -r 's#(.*).png#mv &  \1.txt#'|bash

方法三:rename命令
rename命令用字符串替换的方式批量改变文件名。
格式:rename 原名 替换名 要改的文件
原字符串:将文件名需要替换的字符串; 目标字符串:将文件名中含有的原字符替换成目标字符串; 文件:指定要改变文件名的文件列表。

[root@cache01 test]# ls 
100.png  16.png  22.png  29.png  35.png  41.png  48.png  54.png  60.png  67.png  73.png  7.png   86.png  92.png  99.png
10.png   17.png  23.png  2.png   36.png  42.png  49.png  55.png  61.png  68.png  74.png  80.png  87.png  93.png  9.png
11.png   18.png  24.png  30.png  37.png  43.png  4.png   56.png  62.png  69.png  75.png  81.png  88.png  94.png
12.png   19.png  25.png  31.png  38.png  44.png  50.png  57.png  63.png  6.png   76.png  82.png  89.png  95.png
13.png   1.png   26.png  32.png  39.png  45.png  51.png  58.png  64.png  70.png  77.png  83.png  8.png   96.png
14.png   20.png  27.png  33.png  3.png   46.png  52.png  59.png  65.png  71.png  78.png  84.png  90.png  97.png
15.png   21.png  28.png  34.png  40.png  47.png  53.png  5.png   66.png  72.png  79.png  85.png  91.png  98.png
[root@laofuxi jpg]# rename png txt *
[root@laofuxi jpg]# ls
100.txt  16.txt  22.txt  29.txt  35.txt  41.txt  48.txt  54.txt  60.txt  67.txt  73.txt  7.txt   86.txt  92.txt  99.txt
10.txt   17.txt  23.txt  2.txt   36.txt  42.txt  49.txt  55.txt  61.txt  68.txt  74.txt  80.txt  87.txt  93.txt  9.txt
11.txt   18.txt  24.txt  30.txt  37.txt  43.txt  4.txt   56.txt  62.txt  69.txt  75.txt  81.txt  88.txt  94.txt
12.txt   19.txt  25.txt  31.txt  38.txt  44.txt  50.txt  57.txt  63.txt  6.txt   76.txt  82.txt  89.txt  95.txt
13.txt   1.txt   26.txt  32.txt  39.txt  45.txt  51.txt  58.txt  64.txt  70.txt  77.txt  83.txt  8.txt   96.txt
14.txt   20.txt  27.txt  33.txt  3.txt   46.txt  52.txt  59.txt  65.txt  71.txt  78.txt  84.txt  90.txt  97.txt
15.txt   21.txt  28.txt  34.txt  40.txt  47.txt  53.txt  5.txt   66.txt  72.txt  79.txt  85.txt  91.txt  98.txt
最后编辑:
作者:劳福喜博客
这个作者貌似有点懒,什么都没有留下。

留下一个回复

This site uses Akismet to reduce spam. Learn how your comment data is processed.