nob*_*bar 1 command-line search
是否有一种简单的方法来搜索特定整数的所有实例的文本文件(源代码)。这不应在碰巧包含整数作为子字符串的较大数字上触发,但它不能简单地排除此类行,因为它们可能包含两种情况:
搜索“6”...
int a=6; // found
int b=16; // not found (despite the '6' in '16')
int c=6, d=16; // found
Run Code Online (Sandbox Code Playgroud)
我真的在寻找一种命令行方法来解决这个问题,但也很好奇是否有一个FOSS GUI 类型的编辑器可以做到这一点。
grep -E '\b6\b'
\b
是一个“词边界”
编辑:将@nobar 指向正确的方向后,他-w
在联机帮助页中找到/指出了快捷方式选项(word-regexp),将上述内容简化为:
grep -w 6
如果经常使用,您可以使用类似于
wgrp(){ grep -w "$1" "$2"; }
注意(致@glenn-jackman):如果您不在"$2"
这里引用,您可以将该函数用作管道过滤器。但是,是的,那么它不适用于带空格的文件名。
在阅读了@Gilles 的另一个很棒的答案后,我现在提议
igrp(){ grep -E "(^|[^0-9])$1($|[^0-9])" "$2"; }