[英]Shell Script - Get name of dynamically generated file
我對 shell 腳本很陌生,因此我現在不太了解它。 我有一個應用程序,它創建了一個名稱未知的 java 文件,現在我嘗試編寫一個需要這個名稱的腳本。
該文件的已知名稱是/target/plugin-<dyn>.jar
, <dyn>
部分未知,幾乎可以是任何東西(順便說一句,它主要是帶有可變文本部分的版本號)。
現在我想將plugin-<dyn>
(沒有.jar
)保存在一個變量中供以后使用。 我在互聯網上看了很多,但我找不到解決方案。
如果您需要獲取沒有擴展名的文件名.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
嘗試這個
filename="/target/plugin-<dyn>.jar"
echo ${filename} | awk -F [/.] '{print $(NF - 1)}'
echo ${filename} | sed 's/.*\/\([^/]*\)\.jar/\1/'
但如果<dyn>
有斜線、逗號或點。 它可能不起作用
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.