【发布时间】:2018-07-04 13:51:25
【问题描述】:
我有一个文件我想复制到大约 300,000 个不同的目录中,这些目录本身被分成两个目录,例如
DirA/Dir001/
...
DirB/Dir149000/
但是当我尝试时:
cp file.txt */*
返回:
bash: /bin/cp: Argument list too long
当您有太多需要使用 cp 的文件时,将文件复制到多个目录的最佳方法是什么?
【问题讨论】:
-
你到底为什么要制作 300,000 个 Python 脚本文件的副本?请更详细地说明您要解决的问题;几乎肯定有更好的方法。
-
cp只有一个参数可以是目标目录;cp one two three会将one和two复制到three,覆盖one的副本。 -
@Manuel:不是重复的; OP 已经发现
cp无法做到这一点,并要求对其进行 alternatives —— 而该链接问题的答案atrociously 很糟糕。 (echo或ls通过管道传送到xargs?真的吗?文件名中有一个空格,你的“解决方案”会中断......) -
@Neosage:你的问题就是我们所说的“XY 问题”。您要求解决问题 Y,但由于问题 X,您只有 拥有。您应该要求我们解决问题 X(您的脚本需要在与它操作的文件相同的目录)。也许在不同的问题? ;-)
标签: bash