我在基目录下有多个子目录。如果子目录有x.jar,我需要复制另一个路径中可用的几个jar文件。
我使用下面的命令来查找x.jar,然后我尝试复制jar文件。
find . -type f -name x.jar | xargs cp /home/sampath.anisetti/tmp/*.jar
我得到cp: target ./test3/x.jar
不是目录。
请建议。
注意:如果子目录没有x.jar,则该目录在复制时需要跳过。
答案 0 :(得分:2)
这个怎么样:
find . -type f -name x.jar -print0 |
while IFS= read -r -d'' file; do
cp -- /home/sampath.anisetti/tmp/*.jar "$(dirname -- "$file")"
done
它将找到所有名为x.jar
的文件,然后对于每个此类文件,它将找到该文件所在的目录,并复制所有其他*.jar
文件。