一.grep是什么
Linux grep 命令用于查找文件里符合条件的字符串。
grep 指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设 grep 指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为 -,则 grep 指令会从标准输入设备读取数据。
二.格式以及主要参数
格式:grep [options] ‘pattern’ filename
常用参数:
-c:只输出匹配行的计数。
-i:不区分大小写。
-h:查询多文件时不显示文件名。
-l:查询多文件时只输出包含匹配字符的文件名。
-n:显示匹配行及 行号。
-s:不显示不存在或无匹配文本的错误信息。
-v:显示不包含匹配文本的所有行。
--color=auto :可以将找到的关键词部分加上颜色的显示。
实例:grep -n "in" network.cpp
正则表达式:
1 ^ 匹配行首
2 $ 匹配行尾
3 [ ] or [ n - n ] 匹配[ ]内字符
4 . 匹配任意的单字符
5 * 紧跟一个单字符,表示匹配0个或者多个此字符
6 用来屏蔽元字符的特殊含义
7 ? 匹配前面的字符0次或者1次
8 + 匹配前面的字符1次或者多次
9 X{m} 匹配字符X m次
10 X{m,} 匹配字符X 最少m次
11 X{m,n} 匹配字符X m---n 次
12 666666 标记匹配字符,如666 被标记为1,随后想使用666,直接以 1 代替即可
13 | 表示或的关系
查找后缀为.cpp的文件中某行任意个a个字符的文件名
三.和ls联合使用可查文件
ls /etc | grep “^a" //查找etc目录下首个字符为a的文件名
("|",其为管道符,作用是将前一个命令的输出作为后一个命令的输入)
还可以与重定向联用:ls /etc | grep “^a" > a.txt (将输出写入a.txt)



