Bash: Delete characters until a certain character

2019-02-10 04:03发布

how can I delete characters from a String until a certain character with bash? Example:

"ananas1kiwi2apple1banana2tree"

shall look like this:

"apple1banana2tree"

Thank you!

2条回答
该账号已被封号
2楼-- · 2019-02-10 04:43

Using pure bash shell parameter expansion.

$ string="ananas1kiwi2apple1banana2tree"
$ newString="${string#*2}"
$ printf "%s\n" "$newString"
apple1banana2tree
查看更多
我想做一个坏孩纸
3楼-- · 2019-02-10 05:10

If you want to remove the substring upto 2, using bash parameter expansion:

${var#*2}
  • # does non-greedy match from left, use ## for greediness

  • #*2 matches and discards upto first 2 from variable var

Example:

$ var='ananas1kiwi2apple1banana2tree'
$ echo "${var#*2}"
apple1banana2tree
查看更多
登录 后发表回答