1

我正在尝试在这样的行中查找单个数量:

foo=24.587 bar=88 fox=jobs

并提取所有“88”值。列数不一致,因此 awk 后跟一个 cut 不会削减它。

我尝试像这样使用 sed:

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

这只是转储了整条生产线。我不确定如何更正这个正则表达式,更重要的是为什么这个正则表达式没有达到我的预期?

4

2 回答 2

1

使用-r(扩展正则表达式)。这往往更像您所期望的那样使用正则表达式。但是,您必须从括号中删除反斜杠:

$ echo "foo=24.587 bar=88 fox=jobs" | sed -r 's/.*\s(bar=.+)\s.*/\1/g'
bar=88
于 2013-02-27T01:25:27.310 回答
0
sed -r 's/.*\s(bar=.+)\s.*/\1/g'
于 2013-02-27T01:23:41.787 回答