1.查找特定字符串

[root@server3 mnt]# cat passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

rooot

rooooot

Root

ROOOT

roooooot

test

tes0t

adm:x:3:4:adm:/var/adm:/sbin/nologin

[root@server3 mnt]# grep -n 'root' passwd

1:root:x:0:0:root:/root:/bin/bash

2.反向选择

[root@server3 mnt]# grep -nv 'root' passwd

2:bin:x:1:1:bin:/bin:/sbin/nologin

3:daemon:x:2:2:daemon:/sbin:/sbin/nologin

4:rooot

5:rooooot

6:Root

7:ROOOT

8:roooooot

9:test

10:tes0t

11:adm:x:3:4:adm:/var/adm:/sbin/nologin

3.忽略大小写

[root@server3 mnt]# grep -ni 'root' passwd

1:root:x:0:0:root:/root:/bin/bash

6:Root

4.利用[]查找特定字符

[root@server3 mnt]# grep -n '[rR]oot' passwd

1:root:x:0:0:root:/root:/bin/bash

6:Root

5.查找特定的字符串

[root@server3 mnt]# grep -n 'oo' passwd

1:root:x:0:0:root:/root:/bin/bash

4:rooot

5:rooooot

6:Root

8:roooooot

去掉oo前面的r

[root@server3 mnt]# grep -n '[^r]oo' passwd

4:rooot

5:rooooot

6:Root

8:roooooot

此时会有疑问,为什么‘r’并没有全部被过滤掉呢?因为在4,5,7行之中,oo的前面也可呢个时o,例r(ooo)t。

6.让oo前面不再有小写字符

[root@server3 mnt]# grep -n '[^a-z]oo' passwd

6:Root

也可一以用

[root@server3 mnt]# grep -n '[^[:lower:]]oo' passwd

6:Root

7.过滤出以bin开头的

[root@server3 mnt]# grep -n '^bin' passwd

2:bin:x:1:1:bin:/bin:/sbin/nologin

8.过滤出开头是小写字符的行数

[root@server3 mnt]# grep -n '^[a-z]' passwd

1:root:x:0:0:root:/root:/bin/bash

2:bin:x:1:1:bin:/bin:/sbin/nologin

3:daemon:x:2:2:daemon:/sbin:/sbin/nologin

4:rooot

5:rooooot

8:roooooot

9:test

10:tes0t

11:adm:x:3:4:adm:/var/adm:/sbin/nologin

也可以用这种方式替换

grep -n '^[[:lower:]]' passwd

9.过滤出开头不是英文字母的

[root@server3 mnt]# grep -n '^[^[a-zA-Z]]' passwd

10.找出行尾结束时为小数点(.)的那一行

[root@server3 mnt]# vim passwd       #编辑文件,加几个小数点

[root@server3 mnt]# cat passwd

root:x:0:0:root:/root:/bin/bash

bin:x:1:1:bin:/bin:/sbin/nologin

daemon:x:2:2:daemon:/sbin:/sbin/nologin

rooot

rooooot

Root

ROOOT

roooooot.

test

tes0t.

adm:x:3:4:adm:/var/adm:/sbin/nologin.

[root@server3 mnt]# grep  -n '\.$' passwd

8:roooooot.

10:tes0t.

11:adm:x:3:4:adm:/var/adm:/sbin/nologin.

11.找出空白行

[root@server3 mnt]# vim passwd

[root@server3 mnt]# grep -n '^$' passwd

10:

11:

12.找出‘r??t’的字符串

[root@server3 mnt]# grep  -n 'r..t' passwd

1:root:x:0:0:root:/root:/bin/bash

13.找出至少含有两个oo以上的字符串

[root@server3 mnt]# grep  -n 'ooo*' passwd

1:root:x:0:0:root:/root:/bin/bash

4:rooot

5:rooooot

6:Root

8:roooooot.

14.找出开头为r,结尾为t,中间至少有一个o的字符串

[root@server3 mnt]# grep  -n 'ro*t'  passwd

1:root:x:0:0:root:/root:/bin/bash

4:rooot

5:rooooot

8:roooooot.

15.用.和*结合实验

[root@server3 mnt]# grep  -n 'r.*t'  passwd

1:root:x:0:0:root:/root:/bin/bash

4:rooot

5:rooooot

8:roooooot.

16.找到2-5个o的字符串

[root@server3 mnt]# grep  -n 'ro\{2,5\}t' passwd

1:root:x:0:0:root:/root:/bin/bash

4:rooot

5:rooooot

17.找到3个o以上的字符串

[root@server3 mnt]# grep -n 'ro\{3,\}' passwd

4:rooot

5:rooooot

8:roooooot.

18.找到自己ip地址的行

[root@server3 mnt]# ip addr | grep -n 'eth0$'

9:    inet 172.25.8.3/24 brd 172.25.8.255 scope global eth0

grep练习的更多相关文章

  1. grep 查找bash脚本中的注释代码

    出于安全性的考虑,不建议在bash脚本中注释掉不使用的代码.也就是说如果某段代码不使用了,那么应该删除掉,而不是简单地注释掉.假如你突然意识到这一点,而以前并没有遵从这个原则,现在需要找出脚本中的注释 ...

  2. linux grep命令

    linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...

  3. linux中grep的应用

    h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...

  4. Linux命令-文件文本操作grep

    文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...

  5. 4-4 grep及正则表达式

    1. grep:Globally search a Regular Expression and Print:根据模式搜索文本,并将符合模式的文本行显示出来 pattern:文本字符和正则表达式的元字 ...

  6. grep 命令过滤配置文件中的注释和空行

    grep 用法 Usage: grep [OPTION]... PATTERN [FILE]... Search for PATTERN in each FILE or standard input. ...

  7. sed awk grep三剑客常用

    sed的常用用法: awk的常用用法: grep的常用用法: 除了列出符合行之外,并且列出后10行. grep -A 10 Exception kzfinance-front.log 除了列出符合行之 ...

  8. awk命令和grep命令的使用

    1.遇到需求:用ping命令去检测系统网络延迟 跑 ping baidu.com -c 3,想要直接得到平均延迟. ping baidu.com -c 3 | grep rtt | awk -F \/ ...

  9. grep 命令

    简单介绍:grep命令是用于分析一行信息,若当中有我们所需要的信息,就将该行取出来. 语法结构:grep [-acinv] [--color=auto] '查找关键字' #{filename} -a: ...

  10. 使用git grep进行git搜索

    1.git grep foo 会自动map所有包含foo的文件 2.git grep -n foo  显示行号 3.git grep --name-only foo 只显示文件名 4.git grep ...

随机推荐

  1. DataTable数据分页

    using System;using System.Collections.Generic;using System.Data;using System.Linq;using System.Refle ...

  2. mosquitto配置文件/etc/mosquitto/mosquitto.conf配置参数详细说明

    mosquitto配置文件/etc/mosquitto/mosquitto.conf配置参数详细说明 摘自:https://blog.csdn.net/weixin_43025071/article/ ...

  3. Qt之生成pdf(转)

    Qt中如何让图片.文本.HTML或者其他形式的内容生成pdf呢?主要利用QPrinter来实现,QPrinter不止可以操作打印机来打印纸张文件,并且可以将文件保存至磁盘,存储为pdf格式的文件.   ...

  4. MySQL的四种外键

    来自:某一位网友的博客    转自:http://blog.csdn.net/cnjsnt_s/article/details/5548280 具体使用时需要参考:http://blog.csdn.n ...

  5. vscode填坑之旅: vscode设置中文,设置中文不成功问题

    刚安装好的vscode界面显示中文,如何设置中文呢? 在locale.json界面设置”locale":"zh-cn"也未能实现界面为中文,在网上找了参考了,以下教程真实 ...

  6. 用php导入10W条+ 级别的csv大文件数据到mysql。导出10W+级别数据到csv文件

    转自:http://blog.csdn.net/think2me/article/details/12999907 1. 说说csv 和 Excel 这两者都是我们平时导出或者导入数据一般用到的载体. ...

  7. APUE(5)---标准I/O库 (1)

    一.引言 标准I/O库不仅是UNIX,许多i其他操作系统都实现了标准I/O库,所以这个库由ISO C标准说明.标准I/O库处理很多细节,如缓冲区分配,以及优化的块长度执行I/O等.这使得它便于用户使用 ...

  8. CodeForces 408E Curious Array(组合数学+差分)

    You've got an array consisting of n integers: a[1], a[2], ..., a[n]. Moreover, there are m queries, ...

  9. 直接导入用户信息到discuz ucenter.

    上一篇帖子: 直接导入帖子到Discuz 论坛数据库. 结束时说要写一篇导入用户的帖子, 一直没时间, 但是咱不能做太监,不是? 所以今天赶快补上. 在做discuz整合或者迁移是, 很多人可能遇到相 ...

  10. jQuery制作多表格固定表头、切换表头的特效

    做了好几天的固定表头特效,总算是搞定了.先说明一下基本功能:我们在一个网页上浏览很多份表格数据的时候,肯定会碰到很多分不清表头,也分不清表 格是哪个的情况,这个时候我们就希望能有一种功能,就是我们再下 ...