打印Grep命令的行号

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++库
打印匹配行的行号

我们可以看到行号打印在输出行的开头。然后使用双冒号,然后打印行内容。同时,线条的匹配部分用红色印刷。

打印完整匹配行的行号

我们也可以匹配一个完整的单词而不是单词的一部分,然后打印这些行的数字。我们将使用 -n -v 选项,其中-v选项用于完全匹配。

$ grep -n -v "a" /etc/passwd
图片[2]-打印Grep命令的行号-yiteyi-C++库
打印完整匹配行的行号

打印用于递归搜索的行号

我们还可以搜索多个文件和目录的内容,然后打印这些结果行号。我们将使用 -r 递归搜索的选项。在下面的示例中,我们将搜索 ismail /etc 在所有文件和文件夹中递归。结果将包含文件名、行号和行内容,如下所示。

/etc/group:5:adm:x:4:syslog,ismail
图片[3]-打印Grep命令的行号-yiteyi-C++库
打印用于递归搜索的行号

只打印行号,不打印行

默认情况下,grep命令将打印带有匹配行和文件名的行号,以便进行递归搜索。您可能需要列出或获取匹配行的唯一行号。一些有用的命令只能用于打印行号。在下面的示例中,我们将使用 cut 通过重定向grep输出。

$ grep -n -v "a" /etc/passwd | cut -d : -f 1345121820232627324648

相关文章: 如何排除Rsync中的文件和目录?

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享