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 "xiaobuteach$i" >> /test1.txt; done
例1:查找xiaobuteach1开头的行
grep -n "^xiaobuteach1" /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
查询结果标记说明
行号后字符
匹配行的数据与行号之间是冒号,额外行是横杠;
颜色
匹配行的数据是橙色,额外行是白色。