2009-04-22 136 views
7

我想将当前目录中的某个模式的所有文件移动到另一个目录。将文件移动到目录

例如,如何将所有以nz开头的文件移动到名为foobar的目录?我尝试过使用mv,但效果不佳。

+1

如何编写一个bash脚本来做到这一点,而不是相关的编程? – RobS 2009-04-22 08:33:00

+0

如何编写一个bash脚本来解决他的问题? – 2009-04-22 08:35:37

回答

8
find . | grep "your_pattern" | xargs mv destination_directory 

执行以下操作:

  • 查找根据您的模式
  • 将所有生成的文件到当前目录
  • 过滤他们的所有文件目的地目录
1

这样做,但如果你有任何以nz开头的目录,它也会移动它们。

for files in nz* 
do 
mv $files foobar 
done 

编辑:如上所示,这完全在顶部。然而,对于更复杂的模式匹配,你可能会做这样的事情:

for files in `ls | grep [regexp]` 
do 
mv $files foobar 
done 
7

mv nz* foobar应该这样做。

1

尝试使用“mmv”,它安装在大多数Linux发行版上。

6

MV NZ * foobar的/

0

mv nz* foobar/

  • MV - 将移动或重命名文件
  • NZ - 将得到所有以 “NZ” 启动项目
  • foobar的/ - 是目录,所有项目将进入