web-dev-qa-db-ja.com

バッシュ:文字列から特定の文字まで文字を削除します

文字列から文字をbashで特定の文字まで削除するにはどうすればよいですか?例:

"ananas1kiwi2Apple1banana2tree"

このようになります:

"Apple1banana2tree"

ありがとうございました!

10
Anne K.

bashパラメータ展開を使用して、2までの部分文字列を削除する場合:

${var#*2}
  • #は左から貪欲ではない一致を行います。貪欲には##を使用します

  • #*2は一致し、変数varから最初の2までを破棄します

例:

$ var='ananas1kiwi2Apple1banana2tree'
$ echo "${var#*2}"
Apple1banana2tree
22
heemayl

純粋なbashシェルパラメータ展開 を使用します。

$ string="ananas1kiwi2Apple1banana2tree"
$ newString="${string#*2}"
$ printf "%s\n" "$newString"
Apple1banana2tree
5
Inian