簡體   English   中英

Shell Script - 獲取動態生成文件的名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM