2011-09-17 5 views
5

後、私はgrepのを使用していると私は私が私の指定文字列の後にデータを取得したいです。私は指定した文字列を取得したい。 grep "label:"私は "label:blue label:red label:green"を取得します。私はちょうど色を取得したい。私がgrep -oと言うと、私はすべてのラベルを手に入れます。私が-lと言うなら、それは言う(標準出力)。何か案が?grepの文字列私が指定した内容

あなたは、例えばワードラベルを排除するために sedを使用することができます

答えて

6

grep "label:" | sed s/label://g 
+0

... 'grep'であるものの[無用](http://www.iki.fi/era/unix/award.html#grep)。 'sed -n '/ label:/ s /// gp'' – tripleee

2

Grepは、テキスト行のフィルタリングにのみ使用できるツールです。もっと複雑なことをするには、もっと複雑なツールが必要になるでしょう。例えば

sedがここで使用することができ、:あなたが見ることができるように、

blue 
red 
yellow 

:このような

sed 's/.*label: \(.*\)/\1/' 

テキスト...

label: blue 
llabel: red 
label: green label: yellow 

は、このになって取得しますこのsedコマンドは、検索パターンの後に来るものだけを返し、複数の一致esはサポートされていません。

関連する問題