只得到价值...而不是你的贪图

时间:2012-02-03 18:41:48

标签: unix grep

pdftk file.pdf dump_data output | grep NumberOfPages:

给了我:

NumberOfPages: 5

我不希望它输出NumberOfPages。我想在这种情况下只得到5.我是否可以在grep中说出一个标志来获得这个?我做了一个男人grep,似乎什么也没做。

3 个答案:

答案 0 :(得分:1)

我认为grep不知道如何解析不同格式的字符串。但是awk等其他实用程序可以帮助您:

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

答案 1 :(得分:0)

pdftk file.pdf dump_data output | grep NumberOfPages: | sed 's\NumberOfPages:\\'

答案 2 :(得分:0)

是的,在GNU Grep中,您可以使用-o运算符来“仅”获得表达式的匹配部分。所以像;

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

可以为你工作。正如其他答案所指出的那样,如果你只想要这个数字,那么除了grep之外你最好再使用它。

例如:

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

注意包含5之前的空格。