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

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

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

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


当前回答

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

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

其他回答

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

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

如果你想复制多个文件夹到多个文件夹,你可以这样做:

echo dir1 dir2 dir3 | xargs -n 1 cp -r path / toyourdir - {subdir1 subdir2, subdir3}

不——你不能。

我发现在很多情况下我可以使用这个功能,所以我制作了自己的工具来为我做这件事。

http://github.com/ddavison/branch

很简单—— 分支myfile dir1 dir2 dir3

通配符也适用于Roberts代码

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

使用bash脚本

DESTINATIONPATH[0]="xxx/yyy"
DESTINATIONPATH[1]="aaa/bbb"
                ..
DESTINATIONPATH[5]="MainLine/USER"
NumberOfDestinations=6

for (( i=0; i<NumberOfDestinations; i++))
    do
        cp  SourcePath/fileName.ext ${DESTINATIONPATH[$i]}

    done
exit