Bash: Delete characters until a certain character from String

 ̄綄美尐妖づ 提交于 2019-12-18 15:33:49

问题


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

"ananas1kiwi2apple1banana2tree"

shall look like this:

"apple1banana2tree"

Thank you!


回答1:


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



回答2:


Using pure bash shell parameter expansion.

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


来源:https://stackoverflow.com/questions/40506782/bash-delete-characters-until-a-certain-character-from-string

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!