1. 程式人生 > >Linux下批量修改後綴名

Linux下批量修改後綴名

sources ron sed pre one rep oot source roo

1、用find和xargs添加後綴名

[[email protected] yum.repos.d]# ls -ltr
total 32
-rw-r--r--. 1 root root 5701 Nov 23 21:16 CentOS-Vault.repo
-rw-r--r--. 1 root root 1331 Nov 23 21:16 CentOS-Sources.repo
-rw-r--r--. 1 root root  630 Nov 23 21:16 CentOS-Media.repo
-rw-r--r--. 1 root root  314 Nov 23 21:16 CentOS-fasttrack.repo
-rw-r--r--. 1 root root  649 Nov 23 21:16 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root 1309 Nov 23 21:16 CentOS-CR.repo
-rw-r--r--. 1 root root 1664 Nov 23 21:16 CentOS-Base.repo[[email protected] yum.repos.d]#  find . -type f |xargs -i mv {} {}.bak 
[[email protected] yum.repos.d]# ls -ltr
total 32
-rw-r--r--. 1 root root 5701 Nov 23 21:16 CentOS-Vault.repo.bak
-rw-r--r--. 1 root root 1331 Nov 23 21:16 CentOS-Sources.repo.bak
-rw-r--r--. 1 root root 630 Nov 23 21:16 CentOS-Media.repo.bak
-rw-r--r--. 1 root root 314 Nov 23 21:16 CentOS-fasttrack.repo.bak
-rw-r--r--. 1 root root 649 Nov 23 21:16 CentOS-Debuginfo.repo.bak
-rw-r--r--. 1 root root 1309 Nov 23 21:16 CentOS-CR.repo.bak
-rw-r--r--. 1 root root 1664 Nov 23 21:16 CentOS-Base.repo.bak

 2、用for、sed和mv修改後綴名

#.bak 替換為 .back
 
for i in $(ls .)
 
do
 
mv $i $(echo $i|sed ‘s/\.bak/\.back/‘)
 
done
[[email protected] yum.repos.d]# for i in $(ls .)
> do
> mv $i $(echo $i|sed ‘s/\.bak/\.back/‘)
> done
[[email protected] yum.repos.d]# ls -ltrr
total 32
-rw-r--r--. 1 root root 5701 Nov 23 21:16 CentOS-Vault.repo.back
-rw-r--r--. 1 root root 1331 Nov 23 21:16 CentOS-Sources.repo.back
-rw-r--r--. 1 root root  630 Nov 23 21:16 CentOS-Media.repo.back
-rw-r--r--. 1 root root  314 Nov 23 21:16 CentOS-fasttrack.repo.back
-rw-r--r--. 1 root root  649 Nov 23 21:16 CentOS-Debuginfo.repo.back
-rw-r--r--. 1 root root 1309 Nov 23 21:16 CentOS-CR.repo.back
-rw-r--r--. 1 root root 1664 Nov 23 21:16 CentOS-Base.repo.back
[[email protected] yum.repos.d]#

3、用rename命令修改後綴名   

rename back bak *.back
 
#把*.back改為*.bak
 
[[email protected] yum.repos.d]# rename back bak *.back
[[email protected] yum.repos.d]# ll
total 32
-rw-r--r--. 1 root root 1664 Nov 23 21:16 CentOS-Base.repo.bak
-rw-r--r--. 1 root root 1309 Nov 23 21:16 CentOS-CR.repo.bak
-rw-r--r--. 1 root root  649 Nov 23 21:16 CentOS-Debuginfo.repo.bak
-rw-r--r--. 1 root root  314 Nov 23 21:16 CentOS-fasttrack.repo.bak
-rw-r--r--. 1 root root  630 Nov 23 21:16 CentOS-Media.repo.bak
-rw-r--r--. 1 root root 1331 Nov 23 21:16 CentOS-Sources.repo.bak
-rw-r--r--. 1 root root 5701 Nov 23 21:16 CentOS-Vault.repo.bak

Linux下批量修改後綴名