2017-08-24 104 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

相关问题