2017-08-24 100 views
0

我正在嘗試將filecontainer文件夾中的文件移動到example1文件夾中。如何使用find和xargs將文件夾內的文件夾移動到另一個文件夾?

目錄結構:

/example1 

/example2/filecontainer 

例1有什麼也沒有。

例題有一個名爲filecontainer文件夾和三個文件叫example1.sh,example2.sh和example3.sh

我想下面的命令,但沒有一個文件被移動。

find ./ -name "example*.sh" | xargs -I% mv % example1 

基本上我想一個子文件夾到另一個文件夾中移動文件。我可以將文件從一個文件夾移動到另一個文件夾,但是當文件夾是子文件夾時,它不起作用。

我必須使用find和xargs,因爲我稍後將過濾從現在到一年的文件,並且只將這些文件從子文件夾移動到文件夾。

回答

0

你根本不需要findxargs?你的shell會很樂意做的事情你:

mv -t /example1 /example2/filecontainer/example.*

,如果你確實有一個更復雜的方案,你實際上需要找到,你可以做很多事情;在這些

  • 使用find-exec選項
  • 使用find [location] [-options, such as -name] -print0 | xargs -0 mv -t {target directory}。請注意,-print0使查找文件名與零字節分開,這很好,因爲其他分隔符如空格或換行符在文件名中是絕對合法的; -0使xargs的查找零個字節而不是換行符

與您的代碼的問題,順便說一下,就是你用很奇怪的引號:你",它使一個差異你的電腦。

+0

對我來說,問題似乎是當文件夾內有文件夾時,我無法將文件夾內的文件夾移動到另一個文件夾。當我簡單的有兩個單獨的文件夾,一個有三個文件時,我可以使用xargs來移動它... – yamaoka

相關問題