我有一個像這樣命名的檔案:my-file-1.2.0.jar
我想通過在最后一個-. 因此我會有以下輸出:1.2.0.jar
如果可以使用相同的命令獲得此輸出,我也想擺脫 .jar:1.2.0
我怎樣才能用 bash 做到這一點?
uj5u.com熱心網友回復:
使用引數擴展:
#! /bin/bash
filename=my-file-1.2.0.jar
version=${filename##*-}
version=${version%.jar}
echo "$version"
##從左邊洗掉最大的匹配模式。%從右邊洗掉最短的匹配模式(但.jar不包含通配符,因此使用%%最長的匹配同樣有效)。
uj5u.com熱心網友回復:
這是使用單步執行此操作的方法extglob:
shopt -s extglob
s='my-file-1.2.0.jar'
echo "${s// (.jar|*-)}"
1.2.0
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/455722.html
