ToB企服应用市场:ToB评测及商务社交产业平台

标题: 2.Linux中grep多个关键字“与”和“或”利用详解 [打印本页]

作者: 张国伟    时间: 2024-6-9 21:42
标题: 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
统计输出信息的行数,统计结果就是输出信息的行数,一行信息对应一个文件,以是就是文件的个数

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 ToB企服应用市场:ToB评测及商务社交产业平台 (https://dis.qidao123.com/) Powered by Discuz! X3.4