如何通过sed提取这些字段?

时间:2013-02-27 01:21:00

标签: regex sed

我正试图在这样的行中grep个别数量:

foo=24.587 bar=88 fox=jobs

并提取,比方说,所有'88'值...列数不一致所以awk后面的剪切不会削减它。

我尝试使用这样的sed:

sed -e 's/.*\s\(bar=.+\)\s.*/\1/g'

并且只是转储整行。我不确定如何纠正这个正则表达式,更重要的是为什么这个正则表达式不符合我的期望?

2 个答案:

答案 0 :(得分:1)

使用-r(扩展正则表达式)。这往往更像你期望的使用regexen。但是你必须从parens中删除反斜杠:

$ echo "foo=24.587 bar=88 fox=jobs" | sed -r 's/.*\s(bar=.+)\s.*/\1/g'
bar=88

答案 1 :(得分:0)

sed -r 's/.*\s(bar=.+)\s.*/\1/g'