2017-08-24 209 views

回答

1

我認爲這可以工作:

find ./ -name "test*.sh" | xargs -I% mv % test2 
0

有事端在你的榜樣奇:

如果test1的包含任何子目錄,或者如果你想移動子目錄,因爲他們,你可以簡單地做一個

mv test1/* test2 

(請注意,這將(默認),不動它與一段開頭的條目。如果這是一個問題,你應該考慮不使用Posix shell,但是比如說bash或Zsh,或者確實可以使用find,爲了安全,使用-prune選項)。

問題與子目錄開始。 find的輸出包含所有目錄以及最後的文件。 xargs中的mv然後將移動,例如目錄test1/foo,如果它稍後想要處理文件test1/foo/bar/baz.txt,則文件不在此處。總體效果是,您將移動所有子目錄(如我的第一個解決方案,不需要find),但還會獲得大量錯誤消息。

相關問題