我是shell脚本的新手,因此我现在对它不太了解。
我有一个应用程序,它创建一个名称不明的java文件,现在我尝试编写一个需要此名称的脚本。
该文件的已知名称为/target/plugin-<dyn>.jar
,<dyn>
部分未知,几乎可以是任何内容(顺便说一下,它主要是带有可变文本部分的版本号)。
现在我想将plugin-<dyn>
(没有.jar
)保存在变量中供以后使用。我非常关注互联网,但我找不到解决方案。
答案 0 :(得分:1)
如果您需要获取不带扩展名.jar
的文件名。您可以参考下面的bash脚本:
# for loop all files in target directory that matched plugin-*.jar
for f in target/plugin-*.jar
do
# print file name without extension .jar
echo ${f%.*}
done
<强>更新:强>
# for loop all files in target directory that matched plugin-*.jar
for f in target/plugin-*.jar
do
# print file name without extension .jar
filename="${f##*/}" # get plugin-*.jar
echo ${filename%.*} # print plugin-* without jar
done
答案 1 :(得分:0)
试试这个
filename="/target/plugin-<dyn>.jar"
echo ${filename} | awk -F [/.] '{print $(NF - 1)}'
echo ${filename} | sed 's/.*\/\([^/]*\)\.jar/\1/'
但如果<dyn>
有斜杠,逗号或点。它可能无法正常工作