linux grep操作汇总
2024-01-01 09:33:18
?汇总起来,备忘查看!
目录
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.world
?123123
100000.01
world
Hello
举例,需查找a文件中hello的单词,且不区分大小写:
# grep -iw HELLO ?./a
hello.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 a
26:100
-o :只显示匹配到的字符串
-b :显示位置
11,多个grep匹配
如下,将不包含hello、123的数据行显示出来
grep -iv hello a | grep -v 123
12,按匹配的内容显示所有匹配到的文件(名称)
如下,当前目录下查找包含hello字符串的所有文件列表
grep -lr hello ./
13,找出文件中空白行的行号
grep -n '^$' ./a
文章来源:https://blog.csdn.net/HYZX_9987/article/details/135219959
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!