我的名字中有一个带有SNAPSHOT的文件,我想将文件复制到新目的地。我不在该目录中工作,所以我将使用直接路径。我对bash命令不太好,所以这给了我一些麻烦。我觉得这应该是非常微不足道的。
这将被放入一个脚本,该脚本将复制数百个JAR文件,并将SNAPSHOT字符串附加到文件名。这是我一直在使用的东西,但如果我当前的工作目录不在那些罐子的树级别,那就给我带来了麻烦。
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
谢谢!
答案 0 :(得分:1)
我为你写了这个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/
目录
它有点难看,但它做了它应该做的事情。