如何根据字符串拆分一行

时间:2013-04-03 17:12:19

标签: bash variables

如果我有以下字符串:

variable_A=12345variable_B=54321variable_C=24680

如何根据字符串的内容将其拆分,例如,如果我想在“variable_B”之后提取所有内容,结果将是

variable_B=54321variable_C=24680

“分隔符/字符串”将包含在最终结果0

这是在bash环境中。谢谢你的帮助

2 个答案:

答案 0 :(得分:2)

所以你只想删除分隔符前的所有内容,但是将所有其他变量保留在最终输出中?

另一种纯粹的bash方法会移除并包括分隔符,并将分隔符添加回前面:

$ foo="variable_A=12345variable_B=54321variable_C=24680"
$ foo="variable_B${foo#*variable_B}"
$ echo "${foo}"
variable_B=54321variable_C=24680

答案 1 :(得分:0)

试试这个:

使用

$ echo 'variable_A=12345variable_B=54321variable_C=24680' |
    grep -o "variable_B.*"

使用

$ echo 'variable_A=12345variable_B=54321variable_C=24680' |
    sed -r 's@.*(variable_B.*)@\1@'

输出为:

variable_B=54321variable_C=24680