是否可以使用cp命令将一个文件复制到多个目录?

我尝试了以下方法,但没有奏效:

cp file1 /foo/ /bar/
cp file1 {/foo/,/bar}

我知道可以使用for循环,或者find。但是可以使用gnu cp命令吗?


当前回答

如果需要指定要将文件复制到哪个文件夹,可以将find与一个或多个grep组合在一起。例如,要替换任何出现在任何子文件夹中的favicon.ico,你可以使用:

find . | grep favicon\.ico | xargs -n 1 cp -f /root/favicon.ico

其他回答

这些答案似乎都比显而易见的要复杂:

for i in /foo /bar; do cp "$file1" "$i"; done

ls -db di*/subdir | xargs -n 1 cp文件

如果目录名中有空格,则使用-b,否则将被xargs破坏为不同的项,在echo版本中有此问题

ls -d */ | xargs -iA cp file.txt A

通配符也适用于Roberts代码

echo ./fs*/* | xargs -n 1 cp test 

如果你想在没有fork命令的情况下执行:

Tee <inputfile file2 file3 fil4…> / dev / null