OnWorks Linux 和 Windows 在线工作站

商标

工作站免费在线托管

<上一页 | 内容 | 下一页>

grep的

我们将用来处理正则表达式的主要程序是我们的老朋友, grep的. “grep”这个名字实际上来源于短语“全局正则表达式打印”,所以我们可以看到 grep的 与正则表达式有关。 在本质上, grep的 在文本文件中搜索与指定正则表达式匹配的出现文本,并输出包含与标准输出匹配的任何行。


到目前为止,我们已经使用了 grep的 使用固定字符串,如下所示:


[我@linuxbox ~]$ ls /usr/bin | 压缩包

[我@linuxbox ~]$ ls /usr/bin | 压缩包


这将列出目录中的所有文件 / usr / bin 名称包含子字符串“zip”的目录。

grep的 程序以这种方式接受选项和参数:

grep [选项] 正则表达式 [文件...]

哪里 正则表达式 是一个正则表达式。

这是常用的列表 grep的 opţiuni:


表 19-1:grep 选项


选项说明

选项说明

-i 忽略大小写。 不区分大小写字符。 也可以指定 --忽略大小写.


图片

-v 反转匹配。 一般, grep的 打印包含匹配项的行。

此选项导致 grep的 打印不包含匹配项的每一行。 也可以指定 --反转匹配.


图片

-c 打印匹配(或不匹配,如果 -v 选项也被指定)而不是行本身。 也可以指定 - 数数.


图片

-l 打印包含匹配项而不是行本身的每个文件的名称。 也可以指定 --带匹配的文件.


图片

-L 与 -l 选项类似,但仅打印不包含匹配项的文件名。 也可以指定--files-without-match。


图片

-n 用文件中的行号作为每个匹配行的前缀。 也可以指定 --line-number。


图片

-h 对于多文件搜索,禁止输出文件名。 也可以指定 --无文件名.


图片


为了更充分地探索 grep的,让我们创建一些文本文件进行搜索:

grep的


[我@linuxbox ~]$ ls /bin > dirlist-bin.txt [我@linuxbox ~]$ ls /usr/bin > dirlist-usr-bin.txt [我@linuxbox ~]$ ls /sbin > 目录列表-sbin.txt [我@linuxbox ~]$ ls /usr/sbin > dirlist-usr-sbin.txt [我@linuxbox ~]$ ls 目录列表*.txt

dirlist-bin.txt dirlist-sbin.txt dirlist-usr-sbin.txt dirlist-usr-bin.txt

[我@linuxbox ~]$ ls /bin > dirlist-bin.txt [我@linuxbox ~]$ ls /usr/bin > dirlist-usr-bin.txt [我@linuxbox ~]$ ls /sbin > 目录列表-sbin.txt [我@linuxbox ~]$ ls /usr/sbin > dirlist-usr-sbin.txt [我@linuxbox ~]$ ls 目录列表*.txt

dirlist-bin.txt dirlist-sbin.txt dirlist-usr-sbin.txt dirlist-usr-bin.txt


我们可以像这样对我们的文件列表执行简单的搜索:



[我@linuxbox ~]$ grep bzip 目录列表*.txt

目录-bin.txt:bzip2 目录-bin.txt:bzip2recover

[我@linuxbox ~]$ grep bzip 目录列表*.txt

目录-bin.txt:bzip2 目录-bin.txt:bzip2recover


在这个例子中, grep的 在所有列出的文件中搜索字符串 压缩包 并在文件中找到两个匹配项 目录-bin.txt. 如果我们只对包含匹配项的文件列表而不是匹配项本身感兴趣,我们可以指定 -l 选项​​:



[我@linuxbox ~]$ grep -l bzip 目录列表*.txt

目录-bin.txt

[我@linuxbox ~]$ grep -l bzip 目录列表*.txt

目录-bin.txt


相反,如果我们只想查看不包含匹配项的文件列表,我们可以这样做:



[我@linuxbox ~]$ grep -L bzip 目录列表*.txt

目录-sbin.txt 目录-usr-bin.txt 目录-usr-sbin.txt

[我@linuxbox ~]$ grep -L bzip 目录列表*.txt

目录-sbin.txt 目录-usr-bin.txt 目录-usr-sbin.txt


OnWorks 的顶级操作系统云计算: