2.Linux中grep多个关键字“与”和“或”使用详解

这篇具有很好参考价值的文章主要介绍了2.Linux中grep多个关键字“与”和“或”使用详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

1、Linux grep命令用于查找文件里符合条件的字符串    grep 命令非常常用,经常用于匹配文本字符

grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来

一、或(or)操作

1、使用选项 -E
grep -E 'a1|a2'filename    // 找出文件(filename)中包含a1或者包含a2的行

2、使用egrep
egrep 'a1|a2' filename     // 用egrep同样可以实现

3、使用选项 -e
使用grep -e 选项,只能传递一个参数。在单条命令中使用多个 -e 选项
grep -e a1 -e a2 filename  //使用-e选项实现

4、使用awk
awk '/a1|a2/' filename     // awk 的实现方式

二、与(and)操作

grep命令本身不提供AND功能。但是,使用 -E 选项可以实现AND操作

1、显示既匹配 pattern1 又匹配 pattern2 的行

grep pattern1 files | grep pattern2 

2、使用多个grep命令
grep "a1" filename | grep "a2"  //找出既匹配 a1 又匹配 a2 的行

其他情况

1、grep ‘字符串’     
cat manpath.config | grep 'MANPATH'       //匹配文件中包含 MANPATH 的那一行

2、grep -v ‘字符串’
cat manpath.config| grep -v 'MANPATH'   //匹配文件中不包含 MANPATH 的那一行

3、grep -E 同时匹配多个关键字–或关系

grep -E "word1|word2|word3" file.txt

匹配 file.txt 中包含 word1 或 word2 或 word3 的行。 满足其中任意条件(word1、word2和word3之一)就会匹配。

4、同时匹配多个关键字–与关系

使用管道符连接多个 grep ,间接实现多个关键字的与关系匹配

grep word1 file.txt | grep word2 |grep word3    //必须同时满足三个条件(word1、word2和word3)才匹配。
 

5、使用grep关键字出现次数进行计数统计

模糊匹配

grep -o "keyword" filename |wc -l

精确匹配(以整个word 匹配)

grep -wo "keyword" filename |wc -l
 

6、包含关键字的行数(一行存在多个关键字,计数为1)

grep -c "keyword" filename
 

7、ls、grep、wc统计目录下文件及文件夹的个数

7.1 统计当前目录下文件的个数(不包括目录)

ls -l | grep "^-" | wc -l

7.2 统计当前目录下文件的个数(包括子目录)

ls -lR| grep "^-" | wc -l

7.3 查看某目录下文件夹(目录)的个数(包括子目录)

ls -lR | grep "^d" | wc -l

ls -l

长列表输出该目录下文件信息(注意这里的文件是指目录、链接、设备文件等),每一行对应一个文件或目录

ls -lR 

是列出所有文件,包括子目录

grep "^-"
过滤ls的输出信息,只保留一般文件,只保留目录是grep "^d"

wc -l
统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,所以就是文件的个数文章来源地址https://www.toymoban.com/news/detail-501515.html

到了这里,关于2.Linux中grep多个关键字“与”和“或”使用详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 多线程系列(四) -volatile关键字使用详解

    在上篇文章中,我们介绍到在多线程环境下,如果编程不当,可能会出现程序运行结果混乱的问题。 出现这个原因主要是,JMM 中主内存和线程工作内存的数据不一致,以及多个线程执行时无序,共同导致的结果。 同时也提到引入 synchronized 同步锁,可以保证线程同步,让多

    2024年02月21日
    浏览(50)
  • 提取多个关键字的行(防止目标资产搞偏)

    1. 介绍 提取多个的行 2. 用于场景 只检测授权目标,一般情况下批量资产收集后和批量扫描前用于资产过滤,防止渗透没有权限授权的渗透资产。 批量资产收集后,像fofa,批量工具子域名爆破,jslink提取之后。 批量扫描前,像rad+xray,awvs,afrog,nulei之前 3. 代码部分

    2024年02月11日
    浏览(30)
  • dede5.7自由列表不能获取多个关键字解决方案

    我们首先来看一下DEDE5.7添加自由列表的界面。 在图中我们可以看到,正常情况下DEDE官方写了可以用多个:1,2,3……,但是不知道是官方的失误还是其他的原因,添加多个以后,并没有任何的效果,反而检索不到任何内容了,我们根据大家反

    2024年02月02日
    浏览(38)
  • 文件名替换,关键字替换改名:不同路径中的多个文件如何批量重命名

    在日常生活和工作中,我们经常需要处理大量的文件,包括重命名、分类、整理等操作。其中,批量重命名不同路径中的多个文件是一项非常常见的任务。本文将介绍云炫文件管理器常见的批量重命名方法:文件名替换改名,帮助您轻松应对不同路径中的多个文件的重

    2024年02月08日
    浏览(57)
  • 【Python】函数进阶 ① ( 函数返回多个返回值 | 函数参数传递类型简介 | 位置参数 | 关键字参数 )

    在函数中 , 如果要 返回 多个返回值 , 可以 在 return 语句中 , 设置多个返回值 , 这些返回值之间使用 逗号 隔开 , 这些返回值的类型是 元组 tuple 类型的 ; 在下面的代码中 , 返回了 3 个返回值 , 其 本质上是返回了一个包含 3 个元素的 元组 数据容器 , 可以使用多重赋值将返回的

    2024年02月11日
    浏览(40)
  • volatile 关键字详解

    目录 volatile volatile 关键用在什么场景下: volatile 防止编译器优化: volatile   是一个在许多编程语言中(包括C和C++)用作的标识符。它用于告诉编译器不要对带有该修饰的变量进行优化,以确保变量在特定情况下的可见性和预测性。 在C和C++中, volatile

    2024年02月11日
    浏览(34)
  • Java 关键字:synchronized详解

    Java中的synchronized用于在多线程环境下确保数据同步。它可以用来修饰方法和代码块 当一个线程访问一个对象的synchronized方法或代码块时,其他线程将无法访问该对象的其他synchronized方法或代码块。这样可以确保在同一时间只有一个线程能够执行该代码块或方法,避免

    2024年02月08日
    浏览(40)
  • 详解const、static关键字

    目录   一、static 二、const 在c语言中: static是用来修饰变量和函数的         1.修饰局部变量——称为静态局部变量         2.修饰全局变量——称为静态全局变量         3.修饰函数——称为静态函数 有关内存相关知识补充: 程序的所有数据,也就是所有的

    2024年02月06日
    浏览(38)
  • C++—static关键字详解

    C++的static有两种用法:面向过程程序设计中的static和面向对象程序设计中的static。前者应用于普通变量和函数,不涉及类;后者主要说明static在类中的作用。 静态全局变量有以下特点: 1、该变量在全局数据区分配内存; 2、未经初始化的静态全局变量会被程序自动初始化为

    2024年02月15日
    浏览(28)
  • 【C】static关键字详解

    static的汉语意思是静态的,在C语言中static可以用来修饰 局部变量、全局变量和函数。 在这里给大家补充一个知识,我们的数据在内存中存储时,大概分为3个区域。 1. 栈区 :我们创建的局部变量、形参等一般就存放在这个区域,离开作用域是会自动销毁,将空间还给

    2024年02月10日
    浏览(33)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包