我試圖從一個文件夾移動特定的文件到另一個。以下工作?如何將文件從一個文件夾移動到另一個文件夾?
mkdir test
touch test1.sh
touch test2.sh
touch test3.sh
mkdir test2
find test/ | xargs -I% mv % test2
我試圖從一個文件夾移動特定的文件到另一個。以下工作?如何將文件從一個文件夾移動到另一個文件夾?
mkdir test
touch test1.sh
touch test2.sh
touch test3.sh
mkdir test2
find test/ | xargs -I% mv % test2
我認爲這可以工作:
find ./ -name "test*.sh" | xargs -I% mv % test2
有事端在你的榜樣奇:
如果test1的不不包含任何子目錄,或者如果你想移動子目錄,因爲他們,你可以簡單地做一個
mv test1/* test2
(請注意,這將(默認),不動它與一段開頭的條目。如果這是一個問題,你應該考慮不使用Posix shell,但是比如說bash或Zsh,或者確實可以使用find
,爲了安全,使用-prune
選項)。
問題與子目錄開始。 find的輸出包含所有目錄以及最後的文件。 xargs
中的mv
然後將移動,例如目錄test1/foo,如果它稍後想要處理文件test1/foo/bar/baz.txt,則文件不在此處。總體效果是,您將移動所有子目錄(如我的第一個解決方案,不需要find
),但還會獲得大量錯誤消息。
你沒有把任何'textX.sh'文件的'test'。 – Barmar
嘗試'觸控測試/測試{1,2,3} .sh' – Barmar
但是'find'命令應該工作。 – Barmar