我想复制一个文件,其中所有子目录中都存在脚本文件

时间:2017-04-13 08:32:33

标签: linux bash shell

我想复制所有子目录中存在脚本文件的文件

我试过这个命令

find . -type f -regex '.*.sh' -exec echo cp myfile.txt {} \;

输出

cp myfile.txt ./b/e/e.sh
cp myfile.txt ./a/a.sh
cp myfile.txt ./c/f/f.sh
cp myfile.txt ./c/c.sh

我希望输出为

cp myfile.txt ./b/e
cp myfile.txt ./a
cp myfile.txt ./c/f
cp myfile.txt ./c

如何更改find​​命令的输出以实现此目的?

由于

1 个答案:

答案 0 :(得分:1)

也许不是最优雅的方式,但是:

.... -exec bash -c 'cp myfile.txt $(dirname {})' \;

这是另一个:

 find . -regex '.*.sh' -exec dirname {} \; | xargs -n 1 cp myfile.txt