2016-08-23 54 views
0

假设我有一个目录在此目录中有图案和更改文件名复制文件

/var/mydir/web.php 
/var/mydir/dbMuseum.php.example 
/var/mydir/dbStreet.php.example 

在Ubuntu Linux操作系统的这些文件,这将是一个行命令,它会复制和重命名的所有文件以相同的名称,但没有.example上月底..给出正确的结果:

/var/mydir/web.php 
/var/mydir/dbMuseum.php.example 
/var/mydir/dbMuseum.php 
/var/mydir/dbStreet.php.example 
/var/mydir/dbStreet.php 

回答

1

只是一个bashfor结构与参数扩展会做:

for f in *.example; do mv -i "$f" "${f%.*}"; done 

Ubuntu有renameprename):

rename -n 's/\.[^.]+$//' *.example 

-n会做干运行,删除-n实际重命名发生:

rename 's/\.[^.]+$//' *.example 
+0

我需要原始文件依然存在。所以我在循环中将'mv'改为'cp'并且它做到了 – Angelo

+0

@Angelo非常棒。 – heemayl

相关问题