Delete everyting preceding and including a certain substring from variable
20,838
Solution 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 first2
from variablevar
Example:
$ var='ananas1kiwi2apple1banana2tree'
$ echo "${var#*2}"
apple1banana2tree
Solution 2
Using pure bash
shell parameter expansion.
$ string="ananas1kiwi2apple1banana2tree"
$ newString="${string#*2}"
$ printf "%s\n" "$newString"
apple1banana2tree
Author by
Anne K.
Updated on July 05, 2022Comments
-
Anne K. almost 2 years
In Bash, how can I delete characters from a variable until a certain substring?
Example:
ananas1kiwi2apple1banana2tree
shall look like this:
apple1banana2tree
The substring in this case is
2
.