在 Unix 中,如何将某种类型的所有文件移动(或复制)到目录中?

在 Unix 中,如何将某种类型的所有文件移动(或复制)到目录中?

我还不太熟悉 grep/find/awk/xargs 的所有技巧,所以请耐心等待 =]

我在某个目录中的随机位置中有一个特定文件类型,例如 *.xxx。我如何找到所有此类文件,并将它们移动到 Unix 上我的主目录中的文件夹(可能尚不存在)?

答案1

使用findexec选项,但首先创建目标文件夹。

mkdir -p /home/somewhere/else
find /somewhere -iname "*.xxx"

这将列出所有要移动的文件。现在,如果您确定这些是要移动的文件,请执行以下操作:

find /somewhere -iname "*.xxx" -exec mv '{}' /home/somewhere/else/ \;

在行中exec'{}'将被替换为实际文件名,并将移动到目标。同样,要复制,只需将其替换mvcp\;需要使用 来终止命令。

如果您希望在每个文件操作覆盖已存在文件之前进行确认,则可以分别-imv或 之后添加选项cp

不需要grepxargs他们的类似的东西。这会让事情变得不必要地复杂化。

相关内容