1.grep:根据模式搜索文本并将符合模式的文本显示出来(pattern模式:由文本字符和正则表达式元字符所匹配出来的条件)
注:alias grep='grep --color'
- -c:打印符合要求的行数
- -i :忽略大小写
- -n:输出符合要求的行及行号
- -v:显示不符合要求的行
- -o:只显示被匹配的字符串
- -A:后面加一个数字。如-A2 表示打印符合要求的行及下面两行
- -B:后面跟一个数字,如-B2 表示打印符合要求的行及上面两行
- -C:后面跟一个数字,如-C2 表示打印符合要求的行以及上下各两行
- 过滤带有某个关键词的行并输出行号
grep -n 'root' /etc/passwd
- 过滤不带有某个关键词的行并输出行号
grep -nv 'nologin' /etc/passwd
- 过滤所有包含/不包含数字的行:grep '[0-9]' /etc/inittab grep -v '[0-9]' /etc/inittable
- 删除所有以 # 开头的行:grep -v '^#' /etc/inittab
- 删除所有空行和以 # 开头的行:grep -v '^#' /etc/crontab |grep -v '^$'
注:在正则表达式中,“ ^ "表示行的开始,” $ "表示行的结尾,那么空行则表示可以用“ ^$ "表示。[^字符]表示除[ ]内以外的字符
- 过滤任意一个字符和重复字符(“ . "表示任意一个字符,r..o表示r与o之间有两个任意字符的行过滤出来
- o出现2次以上grep 'o{2}' /etc/passwd
{ }还可以表示一个范围内:{n1, n2},n2为空时,表示大于n1次
2.egerp
egdrep 'aaa|111|ooo' test.txt 筛选字符串1或者字符串2
3.sed工具的使用