使用SED从shellscript中的字符串中删除前X个字符,现在存储为变量?

时间:2013-07-21 12:22:04

标签: regex linux bash sed

我知道这与问题How can I strip first X characters from string using sed?

非常相似

但是我将输出字符串存储为我的bash脚本中的变量

myString='Foo: 1234'
echo "$myString"| sed -r 's/^.{5}//'

生成所需的结果但是当我尝试时它不存储在变量....

myVariable1=$('"$myString"| sed -r 's/^.{5}//'')
myVariable2='"$myString"| sed -r 's/^.{5}//''
myVariable3=$(""$myString"| sed -r 's/^.{5}//'")
myVariable4=""$myString"| sed -r 's/^.{5}//'"

任何人都想告诉我哪里出错了

2 个答案:

答案 0 :(得分:2)

你不需要sed。 bash可以做到。

$ myString='Foo: 1234'
$ myVar=${myString:5}
$ echo $myVar
1234

答案 1 :(得分:1)

您可以保留echo

myVar=$(echo "$myString"| sed -r 's/^.{5}//')

或使用here-string:

myVar=$(sed -r 's/^.{5}//' <<<"$myString")