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/'
字段对调 这个需要多用用