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