grep 命令系列:使用 grep 命令来搜索多个单词

grep 命令系列:使用 grep 命令来搜索多个单词

要使用 grep 命令来搜索多个字符串或单词,我们该怎么做?例如我想要查找 /path/to/file 文件中的 word1、word2、word3 等单词,我怎么样命令 grep 查找这些单词呢?

grep 命令支持正则表达式匹配模式。要使用多单词搜索,请使用如下语法:


  1. grep 'word1\|word2\|word3' /path/to/file

下的例子中,要在一个名叫 /var/log/messages 的文本日志文件中查找 warning、error 和 critical 这几个单词,输入:


  1. $ grep 'warning\|error\|critical' /var/log/messages

仅仅只是要匹配单词(即该词两侧是单词分界符,针对西方以空格分隔的语言而言)的话,可以加上 -w 选项参数:


  1. $ grep -w 'warning\|error\|critical' /var/log/messages

egrep 命令可以跳过上面的语法格式,其使用的语法格式如下:


  1. $ egrep -w 'warning|error|critical' /var/log/messages

我建义您们加上 -i (忽略大小写) 和 --color 选项参数,如下示:


  1. $ egrep -wi --color 'warning|error|critical' /var/log/messages

输出示例:

图一: Linux / Unix egrep 命令查找多个单词输出例子

本文来自合作伙伴“Linux中国”

原文发布时间为:2013-04-02.

时间: 2024-08-03 19:16:01

grep 命令系列:使用 grep 命令来搜索多个单词的相关文章

grep 命令系列:从文件中搜索并显示文件名

我怎样从几个文件中搜索(grep),并只显示匹配到的文件的文件名? 当你从不止一个的文件中搜索时,默认它将显示文件名: grep "word" 文件名 grep root /etc/* 示例输出: /etc/bash.bashrc: See "man sudo_root" for details. /etc/crontab:17 * * * * root cd / && run-parts --report /etc/cron.hourly /etc

grep 命令系列:grep 中的正则表达式

grep 命令系列:grep 中的正则表达式 在 Linux .类 Unix 系统中我该如何使用 Grep 命令的正则表达式呢? Linux 附带有 GNU grep 命令工具,它支持扩展正则表达式extended regular expressions,而且 GNU grep 在所有的 Linux 系统中都是默认有的.Grep 命令被用于搜索定位存储在您服务器或工作站上的任何信息. 正则表达式 正则表达式就是用于匹配每行输入的一种模式,模式是指一串字符序列.下面是范例: ^w1 w1|w2 [

grep 命令系列:如何在 UNIX 中根据文件内容查找文件

grep 命令系列:如何在 UNIX 中根据文件内容查找文件 为了完成课程作业,我写了很多 C 语言代码并把它们保存为 /home/user/c/*.c 和 *.h.那么在 UNIX shell 窗口中我如何能通过字符串或者单词(例如函数名 main())文件内容来查找文件呢? 你需要用到以下工具: [a] grep 命令 : 输出匹配模式的行. [b] find 命令: 在目录层次中查找文件. 使用 grep 命令根据内容查找文件 输入以下命令: grep 'string' *.txt gre

grep 命令系列:如何在 Linux/UNIX 中使用 grep 命令

grep 命令系列:如何在 Linux/UNIX 中使用 grep 命令 我该怎样在 Linux.Apple OS X 及其他类 UNIX 系统中使用 grep 命令,你能给我展示一些简单的例子吗? grep 命令用来搜索文本,或从给定的文件中搜索行内包含了给定字符串或单词的文件.通常来说,grep 显示匹配到的行.使用 grep 来搜索包括一个或多个正则表达式匹配到的文本行,然后只显示匹配到的行.grep 被视作在 Linux/ Unix 系统中最有用的命令之一. 你知道吗 grep 这个名字

grep 命令系列:如何只查看配置文件中未被注释的有效配置行

grep 命令系列:如何只查看配置文件中未被注释的有效配置行 大多数的Linux和类Unix系统的配置文件中都有许多的注释行,但是有时候我只想看其中的有效配置行.那我怎么才能只看到quid.conf或httpd.conf这样的配置文件中的非注释命令行呢?怎么去掉这些注释或者空行呢? 我们可以使用 UNIX/BSD/OS X/Linux 这些操作系统自身提供的 grep,sed,awk,perl或者其他文本处理工具来查看配置文件中的有效配置命令行. grep 命令示例--去掉注释 可以按照如下示例

grep 命令系列:用 grep 命令统计匹配字符串的行数

grep 命令系列:用 grep 命令统计匹配字符串的行数 在 Linux 或 UNIX 操作系统下,对于给定的单词或字符串,我们应该怎么统计它们在每个输入文件中存在的行数呢? 您需要通过添加 -c 或者 --count 选项参数来抑制正常的输出.它将会显示对输入文件单词匹配的行数,如下所示: $ grep -c vivek /etc/passwd 或者 $ grep -w -c vivek /etc/passwd 输出的示例: 1 相反的,使用 -v 或者 --invert 选项参数可以统计出

Centos命令系列 之 screen

摘要 作为运维人员经常会遇到等到远程主机的链接因为网络原因或者别的其他不可抗拒的原因断掉,此时远程为执行完成的命令也会断掉而导致很多任务需要重新执行. 这给大家介绍一个在这种情况下很好用的命令 screen,具体好用在那里,下面具体介绍,包括从其安装到配置到使用 What to do 在正式介绍之前,先给大家介绍下 screen 都能做什么事情 通过一个SSH session使用多个shell窗口 即使网络断开链接也能保持shell窗口处理激活状态 可以在任何地方断开或者重连同一个shell s

【Windows10 IoT开发系列】Powershell命令行实用程序

原文:[Windows10 IoT开发系列]Powershell命令行实用程序 更新帐户密码: 强烈建议你更新默认的管理员帐户密码.若要更新帐户密码,你可以发出以下命令: net user Administrator [new password]​ (其中 [new password] 表示你选择的强密码). 创建本地用户帐户: 如果你想要授予其他人访问你的 Windows IoT Core 设备的权限,你可以通过在 net user [username] [password] /add​ 中键

每天一个linux命令(1):ls命令

本文转载自每天一个linux命令(1):ls命令,为便于查阅所以将其转载. ls命令是linux下最常用的命令.ls命令就是list的缩写缺省下ls用来打印出当前目录的清单如果ls指定其他目录那么就会显示指定目录里的文件及文件夹清单. 通过ls 命令不仅可以查看linux文件夹包含的文件而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等.ls 命令在日常的linux操作中用的很多! 1. 命令格式: ls [选项] [目录名] 2. 命令功能: 列出目标目录中所有的子目