1.grep
grep -[acinv] '搜索内容串' filename
-a 以文本文件方式搜索
-c 计算找到的符合行的次数
-i 忽略大小写
-n 顺便输出行号
-v 反向选择,即找 没有搜索字符串的行
其中搜索串可以是正则表达式!
例子:
1.搜索有the的行,并输出行号
grep -n 'the' regular_express.txt
2.使用[a-zA-X0-9]匹配某个字符,[^]表示匹配不包含的字符
grep -n 't[ae]st' regular_express.txt
grep -n 't[^ae]st' regular_express.txt
3.^ $表示行的开头和结尾
a.搜索以小写字母开头的行
grep -n '^[a-z]' regular_express.txt
b.搜索开头不是英文字母的行
grep -n '^[^a-zA-Z]' regular_express.txt
c.搜索空行
grep -n '^$' regular_express.txt
4.任意一个字符. 与0个或者多个重复字符 * 与 限定连续重复字符的范围 { }
grep -n 'g..d' regular_express.txt
grep -n 'gg*' regular_express.txt 一个或者多个g开头的字符
grep -n 'gg\{2\}' regular_express.txt 第2个g只能重复2次
grep -n 'gg\{2,5\}' regular_express.txt 第2个g只能重复2次到5次
5.|表示 或 ,下面表示空行或者#开头的行以外的行
grep -v '^$' regular_express.txt | grep -v '^#'
扩展正则表达式
egrep是 grep -e的缩写
1.上面的第5条同下
egrep -v '^$|^#' regular_express.txt
2.+和?与上面的 *和. 的作用相同