2017-08-07 146 views

回答

0
myVar=designers/Atom-CMP-d0b3695.zip 

myDesiredVar=$(echo "$myVar" |grep -oP '\-\K[^.]+') 

echo $myDesiredVar 
CMP-d0b3695 

使用grepperl regex\K是背後的正面外觀。和[^.]+的意思是,任何東西直到看到字面點。

var=$(command....)這被稱爲命令替換。希望現在轉儲是有用的。

+0

請解釋如果可能的話,而不是僅僅傾銷代碼。謝謝! – Difster

2

使用bash字符串操作:

s='myVar = designers/Atom-CMP-d0b3695.zip' 
r="${s%.*}" 
r="${r#*-}" 

輸出:

echo "$r" 
CMP-d0b3695 
0

的sed解決方案:

res=$(sed 's/^[^-]*-\([^.]*\).*/\1/' <<< "$myVar") 
echo $res 
CMP-d0b3695 
相關問題