将特定 25k 文件夹移动到另一个位置

将特定 25k 文件夹移动到另一个位置

我是linux的初学者。

我正在尝试将特定的 25k 文件夹从包含 90k 文件夹的目录移动到另一个位置。我有文件夹名称并尝试了以下命令:

cp -r /path/{folder1,folder2,...} /path

它适用于 200 个文件夹,但对于更大的数量,它会失败,因为参数列表太长。

是否有其他命令或从文件中读取它们text/csv

答案1

如果有,text/csv您必须读取文件的每一行并运行cp复制文件夹,

建议使用xargsparallelrush(来源),此命令为每一行执行特定的应用程序。

例如,如果我的 listdirLIST_DIR.txt 与此类似:

folder1
folder2
folder3
folder4

我必须使用此命令将文件夹复制到目标

cat LIST_DIR.txt | rush 'cp -r /path/{} /path'

或与xargs

cat LIST_DIR.txt | xargs -I {} cp -r /path/{} /path

答案2

此类问题的典型解决方法是使用xargsUNIX 实用程序,它使用文件中和/或通过标准输入提供的输入参数重复运行命令。

这是一个包含许多示例的博客文章使用的xargs

相关内容