2

私のコード

FOO="dsad; dsadasddas; dadsad; dsdsad asdsdd"
echo "${FOO%%;*}"   
result: dsad

FOO="dsad; dsadasddas; dadsad; dsdsad asdsdd"
echo "${FOO##*;}"
result: dadsad; dsdsad asdsdd

最初のセミコロンのすべての文字を出力する方法は?

FOO="dsad; dsadasddas; dadsad; dsdsad asdsdd"
echo "${FOO???}"
result: dsadasddas; dadsad; dsdsad asdsdd

最後のセミコロンの前のすべての文字を印刷する方法は?

FOO="dsad; dsadasddas; dadsad; dsdsad asdsdd"
echo "${FOO???}"
result: dsadasddas; dadsad; dsdsad asdsdd

誰か助けて?ありがとうございました ;)

4

1 に答える 1

2

#and%の代わりに##andを使用し%%ます。

foo='one; two; three; four'

# All characters after first semicolon
echo "${foo#*;}"  # two; three; four

# All characters before last semicolon
echo "${foo%;*}"  # one; two; three

${var##glob}${var%%glob}できるだけ多くを奪います(貪欲なマッチング)。可能な限り少なくします(不本意なマッチング)${var#glob}${var%glob}

于 2013-03-07T02:29:19.020 に答える