Linux 查找文件内容 grep
grep命令:根据正则表达式查找文件内容,并且显示匹配内容的行。
1 语法
grep [选项] 模式 文件
 
根据模式指定的正则表达式进行查找。
2 常用选项
| 选项 | 作用 | 
|---|---|
| -n | 显示行号 | 
| -i | 不区分大小写 | 
| -A x | 同时显示匹配行的后x行,会有颜色区分 | 
| -B x | 同时显示匹配行的前x行,会有颜色区分 | 
| -C x | 同时显示匹配行的前x行与后x行,会有颜色区分 | 
3 正则表达式简单说明
| 正则表达式 | 作用 | 
|---|---|
| ^ | 表示开头 | 
| $ | 表示结尾 | 
| .* | 表示任意多个任意字符 | 
4 示例
准备数据
rm -rf /test1.txt
for i in {1..15};do  echo "dushare$i" >> /test1.txt; done
 

例1:查找dushare1开头的行
grep -n "^dushare1" /test1.txt
 
正则表达式中,^表示开头。

例2:查找2结尾的行
grep -n "2$" /test1.txt
 
正则表达式中,$表示开头。

例3:查找xiao开头,2结尾的行
grep -n "^xiao.*2$" /test1.txt
 
.*表示任意多个任意字符,包括无字符。其中.表示任意字符,*表示任意个数。

例4:查找空行
准备数据
echo -e "a\nb\n\n\nc\n" > /test1.txt
 

查找空行
grep -n "^$" /test1.txt
 
^$连写,表示空行。

例5:查找xiao开头,2结尾的行,并显示其前后两行。
grep -n -C 2 "^xiao.*2$" /test1.txt
 

查询结果标记说明
行号后字符
匹配行的数据与行号之间是冒号,额外行是横杠;
颜色
匹配行的数据是橙色,额外行是白色。