我想将名为TEST的文件复制到一堆名为1/2 / ... 9 /
的文件夹中我正在尝试使用
cp -v TEST ./[1-9]/
# which gives the result:
TEST '->' ./9/fractionofanions
cp: omitting directory './1'
.
.
cp: omitting directory './8'
任何人都可以解释为什么它首先只复制到文件夹9,还有任何解决方法来做我需要的工作吗?提前谢谢。
答案 0 :(得分:3)
cp
可以将多个文件复制到目录,但不能将文件复制到多个目录。在这种情况下,您尝试将TEST
和目录1-8复制到目录9 / - 请参阅man cp
了解更多信息。
但是,您可以使用以下内容将文件复制到多个目录中,使用find
作为帮助程序:
find [1-9] -exec cp file.txt {} \;
答案 1 :(得分:1)
正如您可以在man cp
中验证的那样,只能为cp
指定一个目标目录。但是你可以使用一个循环:
for target in ./[1-9]/ ; do
cp -v TEST "$target"
done