问题
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 first2
from variablevar
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