汇总起来,备忘查看!
目录
1,找指定文本
2,查找时不区分大小写
3,在指定命令下递归查找
4,查找时显示字符串在文件中的行号
5,取反:找出文件中不包含指定内容的数据行
6,计算指定文本出现的行数
7,匹配完整单词
8,匹配以xx开始/结尾的内容
9,匹配指定字符串的前/后/前后指定几行的内容
10,显示匹配的字符串在文件中的具体位置
11,多个grep匹配
12,按匹配的内容显示所有匹配到的文件(名称)
13,找出文件中空白行的行号
1,找指定文本
找出文件中包含指定内容的数据行
如下,查找文件a中包含hello字符串的数据行:
grep hello a
2,查找时不区分大小写
grep -i hello a
3,在指定命令下递归查找
-r用来递归查找。主要用于有目录、子目录时的范围查找。
如下,查找当前目录及其子目录下中查找包含hello的文件及内容:
#grep -ir hello ././a:hello
./a:hello.world
./a:Hello
./b:hello
4,查找时显示字符串在文件中的行号
如上一小节中的示例,再显示一下行号:
#grep -irn HELLO ./
./a:1:hello
./a:2:hello.world
./a:6:Hello
./b:1:hello
5,取反:找出文件中不包含指定内容的数据行
-v用来取反。如下查找a文件中不包含hello的数据行:
grep -v "hello" a
6,计算指定文本出现的行数
找出文件中不包含指定内容的数据行数
-c计算行数。如下计算a文件中不包含hello的数据行数:
grep -cv "hello" a
7,匹配完整单词
文件内容如下:
helloh
hello.world123123
100000.01
world
Hello
举例,需查找a文件中hello的单词,且不区分大小写:
# grep -iw HELLO ./ahello.world
Hello
8,匹配以xx开始/结尾的内容
如下,匹配a文件中以oh结尾的内容:
grep oh$ a
如下,匹配a文件中以he开始的内容:
grep ^he a
9,匹配指定字符串的前/后/前后指定几行的内容
有时候不仅想找到指定字符串本行,还需要查看所匹配到的行的前后几行的概况。
前:-B 后:-A 前后:-C (注意都是大写)
如下,查找a文件中出现100的行以及它的前两行的内容:
grep -B 2 100 a
如下,查找a文件中出现100的及前后各两行的内容:
grep -C 2 100 a
10,显示匹配的字符串在文件中的具体位置
如下,查找hello在文件a中出现的具体位置
#grep -o -b hello a26:100
-o :只显示匹配到的字符串
-b :显示位置
11,多个grep匹配
如下,将不包含hello、123的数据行显示出来
grep -iv hello a | grep -v 123
12,按匹配的内容显示所有匹配到的文件(名称)
如下,当前目录下查找包含hello字符串的所有文件列表
grep -lr hello ./
13,找出文件中空白行的行号
grep -n '^$' ./a