grep
是一个流行的工具,以便在文件中搜索和查找给定的术语。grep可以同时搜索多个文件并使用正则表达式等进行匹配。搜索文件时,匹配的行可以用grep命令打印到屏幕上。在本教程中,我们将研究使用grep命令打印匹配行的行号的不同方法。
null
grep行号语法
grep命令行编号选项具有以下语法。
grep -n PATTERN FILE
- 图案 是要匹配的模式、文本或正则表达式。这是必需的。
- 文件 为模式搜索的文件名或路径。这是必需的。
- -不 选项用于打印行号。或者 –行号 选项可以使用-n选项的长形式。
打印匹配行的行号
这个 -n
选项用于打印所有匹配行的行号。我们还将提供要搜索和匹配的术语。在下面的示例中,我们将搜索 /etc/passwd
学期档案 ismail
并打印匹配行的行号。
$ grep -n "a" /etc/passwd
![图片[1]-打印Grep命令的行号-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/10/linuxtect_image-13.png)
我们可以看到行号打印在输出行的开头。然后使用双冒号,然后打印行内容。同时,线条的匹配部分用红色印刷。
打印完整匹配行的行号
我们也可以匹配一个完整的单词而不是单词的一部分,然后打印这些行的数字。我们将使用 -n
和 -v
选项,其中-v选项用于完全匹配。
$ grep -n -v "a" /etc/passwd
![图片[2]-打印Grep命令的行号-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/10/linuxtect_image-15.png)
打印用于递归搜索的行号
我们还可以搜索多个文件和目录的内容,然后打印这些结果行号。我们将使用 -r
递归搜索的选项。在下面的示例中,我们将搜索 ismail
在 /etc
在所有文件和文件夹中递归。结果将包含文件名、行号和行内容,如下所示。
/etc/group:5:adm:x:4:syslog,ismail
![图片[3]-打印Grep命令的行号-yiteyi-C++库](https://www.yiteyi.com/wp-content/uploads/2020/10/linuxtect_image-16.png)
只打印行号,不打印行
默认情况下,grep命令将打印带有匹配行和文件名的行号,以便进行递归搜索。您可能需要列出或获取匹配行的唯一行号。一些有用的命令只能用于打印行号。在下面的示例中,我们将使用 cut
通过重定向grep输出。
$ grep -n -v "a" /etc/passwd | cut -d : -f 1345121820232627324648
相关文章: 如何排除Rsync中的文件和目录?
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END