如何防止 grep 显示额外的结果?

如何防止 grep 显示额外的结果?

我创建了一个简单的转换器。

它要求输入(例如,十进制、二进制、十六进制或其他类型的字符串),然后拉出匹配行,该行以输入的格式显示字符串以及其他格式的等效值。

十进制 25 的示例输出如下所示:

十进制:25 二进制:00011001(显示其他格式)
十进制:250 二进制:11111010(显示其他格式)
十进制:251 二进制:11111100(显示其他格式)

我怎样才能使它只显示十进制搜索的精确匹配(例如,仅25,而不是250、251等)?

答案1

使用正则表达式单词边界 \b

$ grep '\b25\b' file
Decimal: 25 Binary: 00011001 (other formats shown)

或使用 awk:

$ awk '$2 == 25' file

答案2

在 grep 查询中包含匹配项后面的空格。例如:

grep -i "string "

而不是

grep -i "string"

相关内容