0

やあみんな、bashでピリオドの前を振り返るスマートな方法があるかどうか疑問に思っています

file='foo'/bar/styles.css?ver=1.4.2

ext=$(echo ${file} | gawk -F  "?" '{print$1}')
echo "${ext##*.}" # css

どうにかして私の拡張でこれをすべて行うことができるように思えますか?

4

1 に答える 1

2

1つのbash展開ステートメントだけでそれができるとは思わないでください(何らかの方法でネストできる場合を除きます)が、2つでも問題なく動作します

$ start=${file%%\?*}; echo ${start##*.}
css
于 2014-01-14T00:58:07.620 に答える