如何在 Linux 中查找不带有文件名的字符串?
我们知道,我们可以使用 grep 命令来搜索文件中或多个文件中所有行中的特定字符模式。grep 命令以不区分大小写的方式在文件中搜索单词。
让我们看一个简单的示例,在这个示例中,我们将在目录中存在的所有文件中搜索一个模式。
命令
grep -i ‘lp’ Sample*
输出
Sample: The sample was printed via the internet. Sample: I believe lp cares about what the device is. Sample1: This was printed via the internet. Sample1: I believe lp cares about what the device is. Sample2: This was printed via the internet. Sample3: I believe lp cares about what the device is.
对于这种情况,唯一的问题是我们不希望文件名随输出一起打印。我们只需要模式被找到的字符串,我们需要打印该字符串即可。
在这种情况下,我们可以使用-h参数,该参数可用于隐藏文件名。
命令
grep -i -hn ‘lp’ Sample*
根据 Linux 文档,-h 标记的作用如下,
“-h,--no-filename
禁止在输出中添加文件名作为前缀。如果要搜索的文件只有一个(或者只有标准输入),则这是默认设置。”
输出
The sample was printed via the internet. I Believe lp cares about what the device is. This was printed via the internet. I believe lp cares about what the device is. This was printed via the internet. I believe lp doesn't care what the device is
广告