получить только значение ... а не то, что вы понимаете - PullRequest
0 голосов
/ 03 февраля 2012
pdftk file.pdf dump_data output | grep NumberOfPages:

дает мне:

NumberOfPages: 5

Я не хочу выводить NumberOfPages.Я хочу получить в этом случае только 5. Есть ли флаг, который я могу сказать в grep, чтобы получить именно это?Я сделал человека grep, и ничто, казалось, не помогло.

Ответы [ 3 ]

1 голос
/ 03 февраля 2012

Я думаю, что grep не знает, как анализировать строки в разных форматах. Но другие утилиты, такие как awk, помогут вам:

pdftk file.pdf dump_data output | grep NumberOfPages: | awk '{print $2}'
0 голосов
/ 03 февраля 2012

Да, в GNU Grep вы можете использовать оператор -o, чтобы получить «только» соответствующую часть вашего выражения.Так что-то вроде:

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

Может сработать для вас.Как указывалось в других ответах, если вам нужен только номер, вам лучше использовать что-то помимо grep.

Например:

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

Обратите внимание на пробел5 включается.

0 голосов
/ 03 февраля 2012
pdftk file.pdf dump_data output | grep NumberOfPages: | sed 's\NumberOfPages:\\'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...