grep简述

grep(Globel Search Regular Expression and Printing out the line)

它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep包括grep、egrep和fgrep。

egrep表示扩展的grep,相比grep支持更多的匹配模式,
“grep -E”相当于egrep。
fgrep是fast grep,不支持正则表达式,但是搜索速度更快。
grep重要特性:搜索的结果被送到屏幕,不会影响到原文件内容。

1、grep的用法

grep简述 

grep不加引号直接过滤字符串;
grep在进行模式匹配的时候必须加引号,单引和双引号都可以;
grep在引用变量的时候必须加双引号

2、grep的选项[option]

Blockquote
-r:递归的搜索
-v:反向选取,只显示不符合模式的行
-o:只显示被模式匹配到的字符串,而不是整个行
-i:匹配时不区分大小写
-A #:显示匹配到的行时,顺便显示后面的#行(#表示数值)
-B #:前面的#行
-C #:前后的#行
-E:使用扩展的正则表达式[egrep]

Blockquote
基本正则表达式:
.: 任意单个字符
[]: 范围内的
*: 任意次
\?: 0或1次
{m,n}:至少m次,至多n次;
.*: 任意单个字符任意次
^:行首锚定
$:行尾锚定
\<, \b:词首锚定
>, \b:词尾锚定
()分组
\1, \2, \3, …分组引用
扩展正则表达式
?:0次或1次
+: 匹配其前面的字符至少1次
{m,n}:至少m次,至多n次
():分组
\1, \2, \3, …分组引用
或者
|: or

显示/proc/meminfo文件中以不区分大小的s开头的行;

grep简述

显示/etc/passwd中以nologin结尾的行;

grep简述

显示/etc/passwd中,r后跟了o,o出现0次或者1次的行;

grep简述

显示/etc/passwd中,r后跟了o,o出现至少1次至多2次的行;

grep简述

显示/etc/passwd中,r后跟了o,o只出现2次的行;

grep简述

显示/etc/passwd中,匹配root这个单词的行;

grep简述

原创文章,作者:sean0910,如若转载,请注明出处:http://www.178linux.com/72639

(1)
sean0910sean0910
上一篇 2017-04-06 12:55
下一篇 2017-04-06 16:19

相关推荐

  • 面向对象简单介绍

    面向对象简单介绍

    Linux干货 2017-11-12
  • 用户和组命令的简单使用

    用户和组管理命令: 用户管理命令:useradd usermod userdel 组管理命令:groupadd groupmod groupdel 用户创建:useradd -u:uid 定义在/etc/login.defs -o:配合-u选项,不检查uid的唯一性 -g:gid,指明用户所属基本组,可为组名,也可以gid -c:用户的诠释信息 -d;指定用…

    Linux干货 2016-10-24
  • 网络文件系统–NFS

        网络文件系统(英语:Network File System,缩写为NFS)是一种分布式文件系统协议,最初由Sun Microsystems公司开发,并于1984年发布。其功能旨在允许客户端主机可以像访问本地存储一样通过网络访问服务器端文件。     NFS和其他许多协议一…

    Linux干货 2017-08-14
  • DNS简单概念 一

    DNS简单概念 一 DNS简单概念 一 1 §·主机角色 1 §·DNS服务器的类型: 1 §·DNS中简单术语 2 §·DNS中资源记录及其类型 2 §·DNS域与区域 4 §·BIND安全设置 5 §·BIND高级设置BIND VIEW 6   §·主机角色 在网络上不同的主机有不同的角色, 比如: DNS解析角色,邮件角色,网页服务器 §·D…

    Linux干货 2016-09-26
  • ~~ 1;列出当前系统上所有已经登录的用户的用户名,注意:同一用户登录多次,则只显示 一次即可。 # who | cut -d" " -f 1 | sort -u 2;取出最后登录到当前系统的用户的相关信息 # id $(who | tail -1 |cut -d" " -f 1) # last | head -1 3…

    Linux干货 2017-01-03
  • N28-第三周博客作业

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。
    2、取出最后登录到当前系统的用户的相关信息。
    3、取出当前系统上被用户当作其默认shell的最多的那个shell。
    4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。
    5、取出当前主机的IP地址,提示:对ifconfig命令的结果进行切分。
    6、列出/etc目录下所有以.conf结尾的文件的文件名,并将其名字转换为大写后保存至/tmp/etc.conf文件中。
    7、显示/var目录下一级子目录或文件的总个数。
    8、取出/etc/group文件中第三个字段数值最小的10个组的名字。
    9、将/etc/fstab和/etc/issue文件的内容合并为同一个内容后保存至/tmp/etc.test文件中。
    10、请总结描述用户和组管理类命令的使用方法并完成以下练习:
    (1)、创建组distro,其GID为2016;
    (2)、创建用户mandriva, 其ID号为1005;基本组为distro;
    (3)、创建用户mageia,其ID号为1100,家目录为/home/linux;
    (4)、给用户mageia添加密码,密码为mageedu;
    (5)、删除mandriva,但保留其家目录;
    (6)、创建用户slackware,其ID号为2002,基本组为distro,附加组peguin;
    (7)、修改slackware的默认shell为/bin/tcsh;
    (8)、为用户slackware新增附加组admins;

    Linux干货 2017-12-19