shell入门-grep2
案例介绍
搜索关键词带‘root’的行 并输出行号
[root@wangshaojun ~]# cg -n 'root' 1.txt
1:root:x:0:0:root:/root:/bin/bash
11:operator:x:11:0:operator:/root:/sbin/nologin
搜索不带关键词‘nologin’的行,输出行号
[root@wangshaojun ~]# cg -vn 'nologin' 1.txt
1:root:x:0:0:root:/root:/bin/bash
6:sync:x:5:0:sync:/sbin:/bin/sync
7:shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
8:halt:x:7:0:halt:/sbin:/sbin/halt
26:wangshaojun:x:500:500::/home/wangshaojun:/bin/bash
搜索出包含数字的行
[root@wangshaojun ~]# cg '[0-9]' 1.txt
root:x:::root:/root:/bin/bash
bin:x:::bin:/bin:/sbin/nologin
daemon:x:::daemon:/sbin:/sbin/nologin
....
搜索包含个别字符的行 ‘cN’
sync:x:5:0:sync:/sbin:/bin/sync
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
....
搜索包含字母的行
[root@wangshaojun ~]# cg '[a-zA-Z]' 1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
....
搜索不包含字母的行
[root@wangshaojun ~]# cg -v '[a-zA-Z]' 1.txt
#$%%^&#@!!?????>>><<:"}{(特殊字符行)
(空格行)
112234556754576543 (数字行)
匹配以字母开头的行
[root@wangshaojun ~]# cg '^[a-z]' 1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
..... (没有特殊字符行,空格行,数字行)
匹配以数字开头的行
[root@wangshaojun ~]# cg '^[0-9]' 1.txt
12234556754576543
匹配不以数字开头的行
[root@wangshaojun ~]# cg -v '^[0-9]' 1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
ftp:x:14:50:FTP User:/var/ftp:/sbin/nologi
(空格行)
#$%%^&#@!!?????>>><<:"}{
匹配不以数字开头的行
[root@wangshaojun ~]# cg '^[^0-9]' 1.txt
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
nobody:x:99:99:Nobody:/:/sbin/nologin
#$%%^&#@!!?????>>><<:"}{
.....(没有空格行)
搜索空行
[root@wangshaojun ~]# cg '^$' 1.txt///// '^'是开始 '$'是结束 中间什么都没有就是空行
(空行)
////////////////////////////////////////////////////////////////////////////////////////////////
特殊符号
特殊符号‘.’ 表示任意一个字符
[root@wangshaojun ~]# cg 'r.o' 1.txt
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
vcsa:x:69:69:virtual console memory oriowner:/dev:/sbin/nologin
saslauth:x:499:76:"Saslauthd user":/var/r_oempty/saslauth:/sbin/nologin
postfix:x:89:89::/var/spr oool/postfix:/sbin/nologin
sshd:x:74:74:Privilege-separ*orated SSH:/var/empty/sshd:/sbin/nologin
rtkit:x:498:499:RealtimeKit: r.o/proc:/sbin/nologin
特殊符号‘*’ 表示数字0个或多个*号前面的字符和*后面的字符匹配
[root@wangshaojun ~]# cg 'r.o' 1.txt
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
vcsa:x:69:69:virtual console memory oriowner:/dev:/sbin/nologin
saslauth:x:499:76:"Saslauthd user":/var/r_oempty/sas
shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
syrrrrrrrrronc:x:5:0:sync:/sbin:/bin/sync
....
特殊字符‘.*’ .任意*任意个。表示任何个任意字符。匹配到r开头o结尾
[root@wangshaojun ~]# cg 'r.*o' 1.txt
root:x:0:0:root:/root:/bin/bash
adm:x:3:4:adm:/var/adm:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
syrrrrrrrrronc:x:5:0:sync:/sbin:/bin/sync
halt:x:7:rro0:halt:/sbin:/sbin/halt
mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
uucp:x:10:14:uucp:/var/spool/uucp:/sbin/nologin
.....
特殊字符‘?’ 表示数字0或数字1个?前面的字符
[root@wangshaojun ~]# cg 'r\?o' 1.txt
root:x:0:0:root:/root:/bin/bash //roo中ro匹配一次 o匹配一次
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
.......
cg 'r\?o' 1.txt == cg -E 'r?o' 1.txt == egrep --color 'r?o' 1.txt
/////////////////////////////////////////////////////////////////
shell入门-grep2的更多相关文章
- Linux shell入门基础(六)
六.Shell脚本编程详解 将上述五部分的内容,串联起来,增加对Shell的了解 01.shell脚本 shell: # #perl #python #php #jsp 不同的脚本执行不同的文本,执行 ...
- Linux shell入门基础(一)
Linux shell入门基础(一): 01.增加删除用户: #useradd byf userdel byf(主目录未删除) userdel -r byf 该用户的属性:usermod 用 ...
- Shell - 简明Shell入门
本文以示例和注释的方式,对Shell编程的基本知识点进行了总结和回顾,所有脚本均已做了基本的调试和验证. Shell - 简明Shell入门 01 - 第一个脚本 脚本的定义.执行方法以及echo命令 ...
- linux shell 入门
本文是本人学习linux shell入门收集整理,不完全原创. 参考博文: http://www.cnblogs.com/suyang/archive/2008/05/18/1201990.html ...
- shell 入门学习
目录 shell 入门学习 注释 执行与启动 变量 语法 调试 title: shell 入门学习 date: 2019/7/16 15:47:49 toc: true --- shell 入门学习 ...
- Shell入门02
Shell入门-02 1.重定向 标准输入(<) 标准输出 标准错误重回定向 程序 = 指令 + 数据 命令 变量 在程序中,数据如何输入?又如何输出? 数据输入:键盘 – 标准输入,但是并 ...
- Shell入门01
Shell入门 1.基于硬件的虚拟化 2.基于平台的虚拟化 3.基于服务的虚拟化 4.基于库的虚拟化 5.基于操作系统的虚拟化 管理员使用Shell程序与操作系统进行交互,之前学习的shell脚本都是 ...
- 自学linux——11.shell入门
shell 基础 1.shell介绍(内置脚本) 程序开发的效率非常高,依赖于功能强大的命令可以迅速地完成开发任务(批处理) 语法简单,代码写起来比较轻松,简单易学 (1)什么是shell shell ...
- 10_Linux基础-SHELL入门1
@ 目录 10_Linux基础-SHELL入门1 一. 输入输出重定向 二. 2个特殊文件 三. here document 四. tee命令 五. 清空文件内容 六. SHELL入门 SHELL的变 ...
随机推荐
- 11.23 Eclipse
一.Eclipse Workspace File-->Switch Workspace 编译环境:Window -- Preferences – Java - Compiler 运行环境:Win ...
- C#Winform之等待窗体
窗体主要代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 ...
- hbase shell-ddl(表定义指令)
hbase表定义指令详细解说篇 1. alter, alter_async, alter_status 2. create 3. describe (可以简写成'desc') 显示某张表的结构情况 ...
- 算法思考: poj 1969 Count on Canton
A - Count on Canton Time Limit:1000MS Memory Limit:30000KB ...
- castle windsor学习----- CastleComponentAttribute 特性注册
[CastleComponent("GenericRepository", typeof(IRepository<>), Lifestyle = LifestyleTy ...
- cdoj 1256 昊昊爱运动 预处理
昊昊爱运动 Time Limit: 3000/1000MS (Java/Others) Memory Limit: 65535/65535KB (Java/Others) 昊昊喜欢运动 他NN ...
- Codeforces 337D Book of Evil:树的直径【结论】
题目链接:http://codeforces.com/problemset/problem/337/D 题意: 给你一棵树,n个节点. 如果一个节点处放着“罪恶之书”,那么它会影响周围距离不超过d的所 ...
- mvc购物车项目
第一个mvc项目--购物车. 1.购物车需求 a.用户可以登录 b.用户可以购买商品 c.用户可以对购物车的商品进行修改和删除 d.用户可以下订单 e.系统可以发送电子邮件给用户 uml图 2.界面设 ...
- C++(八)— 死锁原因及解决方法
1.死锁原因 死锁问题被认为是线程/进程间切换消耗系统性能的一种极端情况.在死锁时,线程/进程间相互等待资源,而又不释放自身的资源,导致无穷无尽的等待,其结果是任务永远无法执行完成. 打个比方,假设有 ...
- 【BZOJ 4709】柠檬 斜率优化dp+单调栈
题意 给$n$个贝壳,可以将贝壳分成若干段,每段选取一个贝壳$s_i$,这一段$s_i$的数目为$num$,可以得到$num^2\times s_i$个柠檬,求最多能得到几个柠檬 可以发现只有在一段中 ...