2012-02-03 5 views
0
pdftk file.pdf dump_data output | grep NumberOfPages: 

のためのあなたのgrepを私に与えていない:のみ値を取得...何

NumberOfPages: 5 

を私は出力NumberOfPagesにそれを望んでいません。私はこのケースではちょうど5になりたい。それを得るためにgrepで言うことができるフラグはありますか?私は男性のgrepをして、何もそのトリックを行うように見えませんでした。

答えて

1

grepはさまざまな形式の文字列を解析する方法については知らないと思います。しかしawkのような他のユーティリティがお手伝いします:

pdftk file.pdf dump_data output | grep NumberOfPages: | awk '{print $2}' 
0
pdftk file.pdf dump_data output | grep NumberOfPages: | sed 's\NumberOfPages:\\' 
0

はい、GNUのgrepで、あなたの表現の「のみ」のマッチング部分を取得するために-o演算子を使用することができます。そうですね。

pdftk file.pdf dump_data output | grep -o ' .*' 

あなたのために働くことができます。他の答えが指摘しているように、番号だけが必要な場合は、grepに加えて何かを使う方が良いでしょう。例えば

:5の前にスペースが含まれている

$ echo 'NumberOfPages: 5' | grep -o ' .*' 
5 

注意してください。

+0

@AI_G。*は何をしますか? – user983223

+1

'。*'は任意の数の任意の記号と一致します。 –