shell 基础练习笔记——sed+grep

 

grep -c  行数 统计 grep -c 'nologin' passwd

root@kube-all-in-one-test1:/rytest# grep -nc 'nologin' passwd

25

grep -n  行号 列出

 

grep -i  不区分大小写

 

grep -v  取反  

 

grep -r  遍历目录当前目录下的所有目录

 

 

grep -A  2(数字) 表示查出结果以及这个行下的数字行 合计3行

 

 

grep -B  2(数字) 表示查出结果以及这个行上的数字行 合计3行

 

 

grep -C 2(数字) 表示查出结果以及这个行上下的数字行 合计5行

 

 

grep -n [0-9] passwd  含数字的行 并列出行号

 

grep -n '^#'    passwd  显示已#号开头的行

 

grep -nv '^#'    passwd 

 

grep -n '[^0-9]' inittab 非

 

grep  '^[^0-9]' inittab  以 一个[^0-9] 非数字开头的行

 

[^] 意味着括号内字符取反 或者叫取非

^[]意味着以方括号里面的然后开头的的行

 

grep 'r.o' passwd

. 表示任意一个符号

 

grep 'r*o' passwd

 

*号左边的数字可以重复0到N次 表示可以存在N个r 或者没有r 只有o

 

grep '.*' passwd  .* 任意一个任意字符 所有都匹配

 

 

grep 'o\{2\}' passwd  表示o出现2次 \{\} 脱意花括号  表示前面字符的出现范围

 

grep 'o+o' passwd  + 表示  加号前面的字符的一次或者多次,*号为0次或者多次

 

 

grep 'o?t' passwd  ?表示他(问号)前面 的字符出现0或者多次

 

 

 

grep -E 'root|sbin'  | 选择多个条件 有一个满足就行

 

 

sed 替换指定字符

 

 

 

sed -nr 类似grep -E

 

sed -n  '/aaa/'p

 

sed -n '1,$'p test  打印全部

 

 

 

sed -e  在同一个表达式中做多个动作  不仅仅匹配指定行,还要再家一个匹配字符串

sed -e '1'p -e '/bus/'p -n test

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

messagebus:x:103:107::/nonexistent:/usr/sbin/nologin

 

-e 为两个用途。两次生效  

 

# sed -n '/run/'Ip test 忽略大小写  加 大写 i

 

 

 

sed 删除

 

sed  '1,2'd  删除显示

sed -i  '1,2'd   直接删除并修好文件 

 

p print 

d delete 

 

sed的替换功能

 

.* 贪婪匹配

 

 

head test | sed -r 's/([^:]+):(.*):([^:]+)/\3:\2:\1/'  

 

字段对调  这个需要多用用 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值