1、使用rename修改文件后戳

修改前:

[root@localhost ]# ll
total 2548
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu1.doc
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu2.doc
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu3.doc
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu4.doc
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu5.doc


1.1、修改方法如下:

find /oldboy/ -maxdepth 1 -type f -name "*.doc"|xargs rename doc log

[root@localhost ]# ll
修改后:
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu1.log
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu2.log
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu3.log
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu4.log
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu5.log

2、使用for循环修改文件后戳

[root@localhost ]# cat for.sh 
#!/bin/bash
for i in $(find /oldboy/ -maxdepth 1 -type f -name "*.log")
do
mv $i $(echo $i|sed 's#.log#.doc#')
done
用find将文件找出后,交给for中的i进行循环

2.1、修改前:

[root@localhost ]# ll
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu1.log
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu2.log
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu3.log
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu4.log
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu5.log

2.2、修改后:

[root@localhost ]# ll
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu1.doc
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu2.doc
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu3.doc
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu4.doc
-rw-r--r--. 1 root root       7 Jun 20 10:15 stu5.doc

3、用find和xargs为文件添加后戳

find /oldboy/ -type f |xargs -i mv {} {}.txt

4、sed拼接修改

[root@localhost]# ls *.log|sed -r 's#(^[a-z0-9]+).*#mv \1.log \1.doc#'
mv stu1.log stu1.doc
mv stu2.log stu2.doc
mv stu3.log stu3.doc
mv stu4.log stu4.doc
mv stu5.log stu5.doc
[root@localhost ]# ls *.log|sed -r 's#(^[a-z0-9]+).*#mv \1.log \1.doc#e'
[root@localhost ]# ll
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu1.doc
-rw-r--r--. 1 root root      28 Jun 20 13:17 stu2.doc
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu3.doc
-rw-r--r--. 1 root root      28 Jun 20 13:17 stu4.doc
-rw-r--r--. 1 root root      28 Jun 20 13:17 stu5.doc

5、awk拼接修改

[root@localhost ]# ls *.doc|awk -F. '{print "mv "$1".doc "$1".log"}'|bash
[root@localhost ]# ll
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu1.log
-rw-r--r--. 1 root root      28 Jun 20 13:17 stu2.log
-rw-r--r--. 1 root root 1282047 Jun 20 10:15 stu3.log
-rw-r--r--. 1 root root      28 Jun 20 13:17 stu4.log
-rw-r--r--. 1 root root      28 Jun 20 13:17 stu5.log