Linux Bash复制文件并替换文件名中的字符串
我有一个名为SNAPSHOT的文件,我想将该文件复制到新的目标。我没有在那个目录中工作,所以我将使用直接路径。我不擅长bash命令,所以这给我带来了一些麻烦。我觉得这应该很琐碎 这将被放入一个脚本中,该脚本将复制数百个JAR文件,并将快照字符串附加到文件名。这是我一直在使用的东西,但如果我当前的工作目录不在这些JAR的树级别,那么它会给我带来麻烦Linux Bash复制文件并替换文件名中的字符串,linux,bash,Linux,Bash,我有一个名为SNAPSHOT的文件,我想将该文件复制到新的目标。我没有在那个目录中工作,所以我将使用直接路径。我不擅长bash命令,所以这给我带来了一些麻烦。我觉得这应该很琐碎 这将被放入一个脚本中,该脚本将复制数百个JAR文件,并将快照字符串附加到文件名。这是我一直在使用的东西,但如果我当前的工作目录不在这些JAR的树级别,那么它会给我带来麻烦 cp "${SRC_PATH}"/grid-start/target/grid-start-* "${INSTALLER_PATH}"/boot/$(
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
Dest:/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/
目录
它有点丑陋,但它做了它应该做的