linux - 如何使用 find 和 xargs 将文件从文件夹中的文件夹移动到另一个文件夹?

标签 linux command-line find xargs

我正在尝试将 filecontainer 文件夹中的文件移动到 example1 文件夹中。

目录结构为:

/example1

/example2/filecontainer

example1 中没有任何内容。

example2 有一个名为 filecontainer 的文件夹,里面有 example1.sh、example2.sh 和 example3.sh 三个文件

我尝试了下面的命令,但没有移动任何文件。

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

本质上,我想将子文件夹中的文件移动到另一个文件夹。我可以将文件从一个文件夹移动到另一个文件夹,但是当文件夹是子文件夹时,它不起作用。

我必须使用 find 和 xargs,因为稍后我将过滤从今天到一年的文件,并且只将这些文件从子文件夹移动到文件夹。

最佳答案

您根本不需要findxargs 吗?你的 shell 会很乐意为你做事:

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

如果您确实有一个您确实需要找到的更复杂的方案,您可以做很多事情;其中

  • 使用find-exec选项
  • 使用find [location] [-options, such as -name] -print0 | xargs -0 mv -t {目标目录}。请注意,-print0 使 find 用零字节分隔文件名,这很好,因为其他分隔符(如空格或换行符)在文件名中绝对合法; -0 使 xargs 寻找零字节而不是换行符

顺便说一下,你的代码的问题在于你使用了非常奇怪的引号:你的不是,这会有所不同为您的计算机。

关于linux - 如何使用 find 和 xargs 将文件从文件夹中的文件夹移动到另一个文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45855358/

相关文章:

linux - 在家学习内核黑客和嵌入式开发?

android - 无法在 Raspberry Pi 上打开共享库 (so)

linux - 如何在没有鼠标的情况下从我的 xterm 复制文本?

excel - 从 Excel 超链接传递命令行参数

Java - 如何实现应用程序控制台解析器

find - 找到第一个结果后如何停止搜索?

shell - 查找选项 -cmin 和 -amin 之间有什么区别?

linux - 在 Linux 服务器上安装 Icinga

linux - 将windows应用程序移植到linux

c++ - 如何查找结构列表项