gpt4 book ai didi

linux - Bash复制文件并替换文件名中的字符串

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:51:39 25 4
gpt4 key购买 nike

我有一个名称中带有 SNAPSHOT 的文件,我想将该文件复制到一个新的目的地。我不在那个目录中工作,所以我将使用直接路径。我不擅长 bash 命令,所以这给我带来了一些麻烦。我觉得虽然这应该是非常微不足道的。

这将被放入一个脚本中,该脚本将复制数百个 JAR 文件,并在文件名后附加 SNAPSHOT 字符串。这是我一直在使用的东西,但如果我当前的工作目录不在那些 jars 的树级别中,就会给我带来麻烦。

cp "${SRC_PATH}"/grid-start/target/grid-start-* "${INSTALLER_PATH}"/boot/$(ls "${SRC_PATH}"/grid-start/target/*SNAP* | sed "s/-SNAPSHOT//")

场景:

文件:/home/build/src/trunk/grid-start/target/grid-start-1.6-SNAPSHOT.jar

目标:/home/build/installer/boot/grid-start-1.6.jar

谢谢!

最佳答案

我为您编写了这个 bash 脚本。它应该服务于它的目的。

#!/bin/bash
#
# copier.sh

for f in $(find /home/build/ -name '*SNAPSHOT*');
do
filename=${f##*/};
filename=${filename/-SNAPSHOT};
cp $f ./installer/$filename;
done

# EOF

用法:从/home/build/运行 copier.sh,它将复制(并删除 -SNAPSHOT)到 /home/build/installer/ 目录

它有点丑,但它做了它应该做的。

关于linux - Bash复制文件并替换文件名中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30764502/

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