Linux文本处理
Linux文本处理:文本查找命令grep
- grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为"-",则grep指令会从标准输入设备读取数据。 - 语法 grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][范本样式][文件或目录...] - 参数: **-a:**不要忽略二进制的数据。 **-A<显示列数>:**除了显示符合范本样式的那一列之外,并显示该列之后的内容。 **-b:**在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。 **-B<显示列数>:**除了显示符合范本样式的那一列之外,并显示该列之前的内容。 **-c: **计算符合范本样式的列数。 **-C<显示列数>:** 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。 **-d<进行动作>:**当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。 **-e<范本样式>:** 指定字符串做为查找文件内容的范本样式。 -E: 将范本样式为延伸的普通表示法来使用。 **-f<范本文件>:** 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。 **-F:** 将范本样式视为固定字符串的列表。 **-G:** 将范本样式视为普通的表示法来使用。 **-h:** 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。 **-H:** 在显示符合范本样式的那一列之前,表示该列所属的文件名称。 **-i:** 忽略字符大小写的差别。 **-l:** 列出文件内容符合指定的范本样式的文件名称。 **-L:** 列出文件内容不符合指定的范本样式的文件名称。 **-n:** 在显示符合范本样式的那一列之前,标示出该列的列数编号。 **-q:** 不显示任何信息。 **-r:** 此参数的效果和指定"-d recurse"参数相同。 **-s:** 不显示错误信息。 **-v:** 反转查找。 **-V:** 显示版本信息。 **-w:** 只显示全字符合的列。 **-:** 只显示全列符合的列。 **-y:** 此参数的效果和指定"-i"参数相同。 - 实例 ```shell #在当前目录中,查找后缀有"test"字样的文件中包含"test"字符串的文件 grep test *file #以递归的方式查找指定目录及其子目录下所有文件中包含字符串"update"的文件 grep -r update /etc/acpi #反向查找。查找文件名中包含test 的文件中不包含test 的行 grep -v test* #搜索 emp.data 文件,使用正则表达式找出以 78 开头的数据行 grep ^78 emp.data #找出职位为 CLERK 的所有员工 grep CLERK emp.data #如果只想知道职位为 CLERK 的员工的人数,可以使用“-c”选项 grep -c CLERK emp.data #使用grep过滤命令输出 test ps -aux|grep systemd #用 dmesg 列出核心信息,再以 grep 找出包含 eth 那行,在关键字所在行的前两行与后三行也一起捉出来显示 #-B2:Before前两行 -A3:After后三行 dmesg | grep -n -A3 -B2 'eth' ```
顶部
收展
底部
[TOC]
目录
Linux文本处理:查看文本内容
Linux文本处理:vim编辑器
Linux文本处理:输入输出重定向
Linux文本处理:文本查找命令grep
Linux文本处理:数据处理命令sed
Linux文本处理:文本分析工具awk
相关推荐
Linux文件目录管理
Linux打包压缩
Linux软件安装
Linux用户和用户组管理
Linux文件系统管理
Linux系统管理