gpt4 book ai didi

linux - 找到文件后如何复制

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:04:47 26 4
gpt4 key购买 nike

我正在尝试创建一个将执行以下操作的脚本1- 执行 mvn clean2- 执行 mvn 包3- 找到 .jar 文件并将其移动到在命令行上作为 arg 传递的目标文件夹

#!/bin/bash
destination=“$1”

#Clean
mvn clean

#Package
mvn package

#Transfer the generated jar file to the destination folder
find . -name “*.jar” | xargs cp -t $destination

这可以正常运行 Maven 脚本,但是当我转到目标文件夹时,文件没有被复制。我知道 .jar 文件在那里,并且在我打印出 find 的结果时找到了。 -名称“*.jar”:

./target/QuoteTool-0.0.1-SNAPSHOT.jar

但是复制文件的步骤没有正确发生。

非常感谢任何帮助。

注意:我用的是Mac

最佳答案

您不需要使用 xargs,只需在 find 命令本身中使用 -exec 选项即可。

还有 Unicode Windows 风格的双引号(参见 Unicode Utilities ),“*.jar” 应该用作 "*.jar"

find . -type f -name "*.jar" -exec cp -t "$destination" "{}" +

在上面的示例中,cp+ over exec避免 fork cp 用于找到的每个 jar 文件,而是一次性将找到的所有文件复制到目标位置。

关于linux - 找到文件后如何复制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45212515/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com