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

Ann*_* K. 8 string bash shell cut sed

如何从字符串中删除字符直到某个字符与bash?例:

"ananas1kiwi2apple1banana2tree"
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

"apple1banana2tree"
Run Code Online (Sandbox Code Playgroud)

谢谢!

hee*_*ayl 19

如果要2使用bash参数扩展删除子字符串:

${var#*2}
Run Code Online (Sandbox Code Playgroud)
  • #从左边开始非贪婪匹配,##用于贪婪

  • #*2匹配并2从变量首先丢弃var

例:

$ var='ananas1kiwi2apple1banana2tree'
$ echo "${var#*2}"
apple1banana2tree
Run Code Online (Sandbox Code Playgroud)


Ini*_*ian 5

使用纯bash shell参数扩展

$ string="ananas1kiwi2apple1banana2tree"
$ newString="${string#*2}"
$ printf "%s\n" "$newString"
apple1banana2tree
Run Code Online (Sandbox Code Playgroud)