如何对所选单词使用grep进行筛选

如何对所选单词使用grep进行筛选,grep,Grep,你好, 我有一个日志文件,要对所选单词进行筛选。然而,它倾向于过滤许多,例如 grep (GNU grep) 2.14 这也会找到这样的词: tail -f gateway-* | grep "P_SIP:N_iptB1T1" 但是,我不想在1之后显示任何内容。格雷普正在接11号、12号、13号等等 非常感谢您的建议,grep-o“p\u SIP:N\u iptB1T1” -o、 --仅匹配仅显示线条匹配图案的一部分 grep-o“p\u SIP:N\u iptB1T1” -o、 --仅

你好,

我有一个日志文件,要对所选单词进行筛选。然而,它倾向于过滤许多,例如

grep (GNU grep) 2.14
这也会找到这样的词:

tail -f gateway-* | grep "P_SIP:N_iptB1T1"
但是,我不想在1之后显示任何内容。格雷普正在接11号、12号、13号等等

非常感谢您的建议,

grep-o“p\u SIP:N\u iptB1T1”
-o、 --仅匹配仅显示线条匹配图案的一部分
grep-o“p\u SIP:N\u iptB1T1”
-o、 --仅匹配仅显示线条匹配图案的一部分

至少可以尝试两种方法:

grep-w模式
匹配完整单词。似乎也适用于这种情况,即使模式有标点符号


grep pattern-m1
将输出限制为第一次匹配。(同样适用于
grep xxx | head-1

至少可以尝试两种方法:

grep-w模式
匹配完整单词。似乎也适用于这种情况,即使模式有标点符号


grep pattern-m1
将输出限制为第一次匹配。(也可以使用
grep xxx | head-1

您可以限制单词以1结尾:

-o, --only-matching show only the part of a line matching PATTERN 假设您有一个匹配的case,该case仅为“p_SIP:N_iptB1T1”,那么这将起作用。
但是,如果要从P_SIP:N_iptB1T1x中提取并仅显示一次,则需要限制仅显示第一个匹配项。

可以将单词限制为以1结尾:

-o, --only-matching show only the part of a line matching PATTERN 假设您有一个匹配的case,该case仅为“p_SIP:N_iptB1T1”,那么这将起作用。
但是,如果您想从P\u SIP:N\u iptB1T1x中提取,并且只显示一次,那么您需要限制只显示第一个匹配项。

如果行中包含引号,如您的示例所示,只需使用grep中的

-E
选项,并将结束引号与
\“
匹配即可。例如:

tail -f gateway-* | grep "P_SIP:N_iptB1T1\>"
如果这些引号不在文本文件中,并且单词后有空格或结束行,您也可以匹配这些引号:

grep -E "P_SIP:N_iptB1T1\"" file

如果行中包含您示例中的引号,只需使用grep中的
-E
选项,并将结束引号与
\“
匹配即可。例如:

tail -f gateway-* | grep "P_SIP:N_iptB1T1\>"
如果这些引号不在文本文件中,并且单词后有空格或结束行,您也可以匹配这些引号:

grep -E "P_SIP:N_iptB1T1\"" file

这样行。但是,我想显示包含该模式的完整行,而不仅仅是模式本身。谢谢,这样行。但是,我想显示包含该模式的完整行,而不仅仅是模式本身。谢谢