grep练习
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练习的更多相关文章
- grep 查找bash脚本中的注释代码
出于安全性的考虑,不建议在bash脚本中注释掉不使用的代码.也就是说如果某段代码不使用了,那么应该删除掉,而不是简单地注释掉.假如你突然意识到这一点,而以前并没有遵从这个原则,现在需要找出脚本中的注释 ...
- linux grep命令
linux grep命令1.作用Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来.grep全称是Global Regular Expressio ...
- linux中grep的应用
h3 { color: rgb(255, 255, 255); background-color: rgb(30,144,255); padding: 3px; margin: 10px 0px } ...
- Linux命令-文件文本操作grep
文件文本操作 grep 在文件中查找符合正则表达式条件的文本行 cut 截取文件中的特定字段 paste 附加字段 tr 字符转换或压缩 sort 调整文本行的顺序,使其符合特定准则 uniq 找出重 ...
- 4-4 grep及正则表达式
1. grep:Globally search a Regular Expression and Print:根据模式搜索文本,并将符合模式的文本行显示出来 pattern:文本字符和正则表达式的元字 ...
- grep 命令过滤配置文件中的注释和空行
grep 用法 Usage: grep [OPTION]... PATTERN [FILE]... Search for PATTERN in each FILE or standard input. ...
- sed awk grep三剑客常用
sed的常用用法: awk的常用用法: grep的常用用法: 除了列出符合行之外,并且列出后10行. grep -A 10 Exception kzfinance-front.log 除了列出符合行之 ...
- awk命令和grep命令的使用
1.遇到需求:用ping命令去检测系统网络延迟 跑 ping baidu.com -c 3,想要直接得到平均延迟. ping baidu.com -c 3 | grep rtt | awk -F \/ ...
- grep 命令
简单介绍:grep命令是用于分析一行信息,若当中有我们所需要的信息,就将该行取出来. 语法结构:grep [-acinv] [--color=auto] '查找关键字' #{filename} -a: ...
- 使用git grep进行git搜索
1.git grep foo 会自动map所有包含foo的文件 2.git grep -n foo 显示行号 3.git grep --name-only foo 只显示文件名 4.git grep ...
随机推荐
- Golang 之 key-value LevelDB
时常会在应用中用到数据库功能,象 Key-Value 性质的.直接搬个 Redis,Mysql嫌大,好在有 LevelDB,直接编进应用中. 有关什么是 LevelDB 以及 LevelDB 的特性, ...
- 谈谈Spring 注入properties文件总结
本篇谈谈Spring 注入properties文件总结,小编觉得挺不错的,现在分享给大家,也给大家做个参考.一起跟随小编过来看看吧 spring提供了多种方式来注入properties文件,本文做一个 ...
- 转:开启命令行下的社交-webqq脚本
最近一直在命令行下工作,除了 Google Chrome,几乎很少接触 GUI 相关的软件.前段时间把手机上的 QQ 给卸载了,希望可以把时间凝聚在更加有价值的位置,今天突然又想起了这个软件,突发奇想 ...
- CodeForces 682B Alyona and Mex (题意水题)
题意:给定一个序列,你可以对这里面的数用小于它的数来代替,最后让你求,改完后的最大的序列中缺少的最小的数. 析:这个题,读了两个多小时也没读懂,要是读懂了,肯定能做出来...没什么可说的,就是尽量凑1 ...
- vSphere5.5体系结构
1.vSphere5.5体系结构 vSphere5.5作为云集算操作系统,可以虚拟化服务器.存储.网络在内的整个IT基础架构,将这些架构转化为易于管理的虚拟化!vSphere5.5从逻辑上,可以划分为 ...
- Appium 简介及工作原理
申请:本文介绍主要是针对Android. 1.什么是Appium: Appium是一个开源.跨平台的测试框架,可以用来测试原生及混合的移动端应用.Appium支持IOS.Android及Firefox ...
- Python 操作 Excel 、txt等文件
#xlrd 读取excel import xlrd import os #获取文件路径 filepath = os.path.join(os.getcwd(),'user_info') #获取文件名称 ...
- Solr: a custom Search RequestHandler
As you know, I've been playing with Solr lately, trying to see how feasible it would be to customize ...
- Linq善解人意之通过MSDN对14个“查询关键字“逐个解剖
linq中存在的 14个关键字 网址: https://msdn.microsoft.com/zh-cn/library/bb310804.aspx from: 迭代变量 where:对数据源进行逻辑 ...
- .Net Core使用OpenXML导出,导入Excel
导出Excel是程序很常用到的功能,.Net Core可以借助Open-XML-SDK来导出Excel. Open-XML-SDK open-xml-sdk是是微软开源的项目.Open XML SDK ...