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
转载于:https://blog.51cto.com/fenyuer/1940134