2009-04-22 110 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的/ - 是目錄,所有項目將進入