Bash:删除字符,直到String中的某个字符

时间:2016-11-09 12:13:44

标签: string bash shell sed cut

如何删除字符串中的字符,直到某个字符带有bash? 例如:

"ananas1kiwi2apple1banana2tree"

应如下所示:

"apple1banana2tree"

谢谢!

2 个答案:

答案 0 :(得分:15)

如果要使用2参数展开将{@ 1}}移至子bash,请执行以下操作:

${var#*2}
  • #从左侧进行非贪婪匹配,使用##进行贪婪

  • #*2从变量2

  • 开始匹配并丢弃第一个var

示例:

$ var='ananas1kiwi2apple1banana2tree'
$ echo "${var#*2}"
apple1banana2tree

答案 1 :(得分:4)

使用纯bash shell parameter expansion

$ string="ananas1kiwi2apple1banana2tree"
$ newString="${string#*2}"
$ printf "%s\n" "$newString"
apple1banana2tree