1

私は次のような行で個々の数量をgrepしようとしています:

foo=24.587 bar=88 fox=jobs

たとえば、すべての「88」値を抽出します。列の数は一貫していないため、awkの後にカットを続けるとカットされません。

私はこのようにsedを使ってみました:

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

そしてそれはただ行全体をダンプします。この正規表現を修正する方法がわかりません。さらに重要なのは、この正規表現が期待どおりに機能しない理由です。

4

2 に答える 2

1

-r(拡張正規表現)を使用します。これはあなたが期待するようにregexenをより多く使用する傾向があります。ただし、Parensからバックスラッシュを削除する必要があります。

$ 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 に答える