Anne K. Anne K. - 24 days ago 8
Bash Question

Bash: Delete characters until a certain character from String

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

"ananas1kiwi2apple1banana2tree"


shall look like this:

"apple1banana2tree"


Thank you!

Answer

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
Comments