如何将服务器中同名目录“target”中的“*.jar”文件(避免在 target 下的子目录)复制到另一个文件夹?

问题描述 投票:0回答:1

如何将服务器中相同目录名称“target”中的“*.jar”文件复制到另一个文件夹(避免目标下的子目录)?

示例 A 和 B 是主文件夹

A--->>目标----sample.jar B--->> 目标----Sample1.jar

所以我想把所有的jar文件复制到/home/Test文件夹下

避免目标文件夹下的子文件夹。

find -name "target" -type d -execdir ls {} ; | grep.war| xargs -I '{}' cp {} /home/test/;

linux cp
1个回答
0
投票

find /path/to/main/folder -name "target" -type d -execdir sh -c 'cp -n {}/*.jar /home/Test\ Folder' ;

将 /path/to/main/folder 替换为包含“A”和“B”目录的文件夹的实际路径。该命令会在主文件夹下找到所有名为“target”的目录,并将每个“target”目录下的所有“*.jar”文件复制到“/home/Test Folder”目录下。

cp命令有-n选项,可以防止覆盖目标目录中已经存在的文件。

注意,如果在不同的“target”目录下有多个同名的“*.jar”文件,由于-n选项,只会复制其中一个到目标文件夹。如果要覆盖现有文件,请删除 -n 选项。

© www.soinside.com 2019 - 2024. All rights reserved.