grep命令
grep (general regular expression print)
grep会对匹配一个或多个正则表达式的文本进行搜索。
grep的格式:
grep [option(s)] pattern [file]
grep的参数命令:
-c count 输出搜索符合这个模式的数量
-e 多命令使用
-f file读取文件中的命令
-i 忽视大小写
-o only match
-A 输出匹配后的几行
-B 输出匹配前的几行
-C 输出周围的几行
-m 停止匹配在完成多少次匹配之后
-q 去除正常输出
-v 输出不匹配的数据
grep实例使用:
- -c 参数,用来输出符合要求的数据的数量
☁ Ch02 [master] ⚡ history|grep -c "grep"
45
☁ Ch02 [master] ⚡ cat sedTest
Monday
Monday
Tuesday
Wed
Thu
Fri
Jason
☁ Ch02 [master] ⚡ cat sedTest|grep "Mon"
Monday
Monday
☁ Ch02 [master] ⚡ cat sedTest|grep -c "Mon"
2
- -c参数是count的缩写,结合上面的例子就能看出,用来解决一些删除问题还是不错的选择,举个需求的例子,找出符合某些例子的人,并且显示数量放入到新的文件中
file=sedTest
grep -c "Mon" $file > a
grep "Mon" $file > b
cat a b > c | sed "/Mon/d" $file > test
rm a b
- -i用来忽视大小写的参数
- -m num 用来停止完成多少次匹配
- -A num 用来匹配after
- -o 仅匹配
- -v 不匹配的数据
☁ Ch02 [master] ⚡ grep "mon" sedTest
☁ Ch02 [master] ⚡ grep -i "mon" sedTest
Monday
Monday
☁ Ch02 [master] ⚡ grep -i -m 1 "mon" sedTest
Monday
☁ Ch02 [master] ⚡ grep -i -A 4 "mon" sedTest
Monday
Monday
Tuesday
Wed
Thu
Fri
☁ Ch02 [master] ⚡ grep -i -o "mon" sedTest
Mon
Mon
☁ Ch02 [master] ⚡ grep -v "Mon" sedTest
Tuesday
Wed
Thu
Fri
Jason