热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

分享LinuxGrep高级用户指南

同时搜索多个单词通常,grep的用法是这样的:greppattern

同时搜索多个单词

通常,grep的用法是这样的:

grep 'pattern' filename

其中'pattern'是任何给定的模式或匹配的正则表达式。 但是,假设您有一个错误日志文件并正在执行例行维护。 您希望检查日志文件中是否存在跨越各种源的某些关键字。 通常,您必须为每个短语使用单独的grep表达式。

但是,我们可以使用“-E”参数轻松使用正则表达式。 首先,我们有一个名为“linuxidc-com”的文件,其中包含以下内容:

假设我们要在此文件中搜索以下两个短语:

linuxidc

linuxmi

grep -Ew 'linuxidc|linuxmi' linuxidc-com

有两个标志:

1.-E表示我们正在使用扩展正则表达式

2.-w意味着我们只想匹配整个单词

为了使它更容易,我们可以将“grep -E”替换为“egrep”。 所以上面的命令变成:

egrep -w 'linuxidc|linuxmi' linuxidc-com

这里是输出:

我们可以根据需要匹配尽可能多的单词。如果你想删除“单词”的要求,而只是想要一个直接的字符串匹配,那么你可以删除“w”参数。

搜索整个目录以查找匹配项并显示文件名

我们通常认为grep搜索文件或来自另一个命令的特定输出。但是,我们也可以使用它同时搜索整个文件目录。比如说,你有一堆分散在系统周围的日志文件。毕竟,许多软件包都有自己的日志文件位置。为了方便您,您可以创建一个新文件夹,其中包含指向您感兴趣的所有各种日志文件的符号链接。现在,您可以使用“-R”命令与grep一起搜索所有这些内容。首都“R”告诉grep包含符号链接。小“r”忽略默认情况下在命令行中找不到的符号链接。

例如,在以下示例中,我们在当前目录中搜索字符串:

grep -r linuxidc .

末尾的点( .)表示当前目录。 我们得到以下输出:

您可以在下面看到,它还会以递归方式搜索另一个模式匹配:

这对于同时搜索一堆文件非常有用。 输出还会显示包含匹配字符串的文件的名称! 我个人喜欢这个带有“-R”的解决方案,可以同时搜索一组符号链接,以节省时间。

计算匹配行数

有时您想知道某个关键字出现在grep中的次数。 例如,如果您在网站文件中搜索某个蜘蛛,则需要计算包含特定用户代理的行数。为此,我们只需添加“-c”参数即可。 请记住,这会删除grep的常规输出,并且不再显示单个匹配项。 例如,没有“-c”参数:

grep rr linuxidc-com

我们得到一个简单的事件列表。 加入“-c”:

grep -c rr linuxidc-com

我们得到了行数:如您所见,它不再显示每个事件。

Grep是一个非常强大的工具,它的功能多年来一直在增加。 我们可以创建复杂的正则表达式,甚至可以创建一个表达式来格式化文件的输出,使其更易于阅读。 这些高级grep使用示例将让您体验可能的内容,并希望您自己深入研究手册!

如果您喜欢高级grep命令的这篇文章,请通过社交媒体网络与您的朋友分享。 如果您对本教程有任何疑问,请在下面写下评论。 谢谢!


推荐阅读
  • Linux如何安装Mongodb的详细步骤和注意事项
    本文介绍了Linux如何安装Mongodb的详细步骤和注意事项,同时介绍了Mongodb的特点和优势。Mongodb是一个开源的数据库,适用于各种规模的企业和各类应用程序。它具有灵活的数据模式和高性能的数据读写操作,能够提高企业的敏捷性和可扩展性。文章还提供了Mongodb的下载安装包地址。 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 本文介绍了在Mac上搭建php环境后无法使用localhost连接mysql的问题,并通过将localhost替换为127.0.0.1或本机IP解决了该问题。文章解释了localhost和127.0.0.1的区别,指出了使用socket方式连接导致连接失败的原因。此外,还提供了相关链接供读者深入了解。 ... [详细]
  • 本文介绍了Linux系统中正则表达式的基础知识,包括正则表达式的简介、字符分类、普通字符和元字符的区别,以及在学习过程中需要注意的事项。同时提醒读者要注意正则表达式与通配符的区别,并给出了使用正则表达式时的一些建议。本文适合初学者了解Linux系统中的正则表达式,并提供了学习的参考资料。 ... [详细]
  • 本文介绍了Linux Shell中括号和整数扩展的使用方法,包括命令组、命令替换、初始化数组以及算术表达式和逻辑判断的相关内容。括号中的命令将会在新开的子shell中顺序执行,括号中的变量不能被脚本余下的部分使用。命令替换可以用于将命令的标准输出作为另一个命令的输入。括号中的运算符和表达式符合C语言运算规则,可以用在整数扩展中进行算术计算和逻辑判断。 ... [详细]
  • 面试经验分享:华为面试四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试
    最近有朋友去华为面试,面试经历包括四轮电话面试、一轮笔试、一轮主管视频面试、一轮hr视频面试。80%的人都在第一轮电话面试中失败,因为缺乏基础知识。面试问题涉及 ... [详细]
  • 分享2款网站程序源码/主题等后门检测工具
    本文介绍了2款用于检测网站程序源码和主题中是否存在后门的工具,分别是WebShellkiller和D盾_Web查杀。WebShellkiller是一款支持webshell和暗链扫描的工具,采用多重检测引擎和智能检测模型,能够更精准地检测出已知和未知的后门文件。D盾_Web查杀则使用自行研发的代码分析引擎,能够分析更为隐藏的WebShell后门行为。 ... [详细]
  • Ubuntu安装常用软件详细步骤
    目录1.GoogleChrome浏览器2.搜狗拼音输入法3.Pycharm4.Clion5.其他软件1.GoogleChrome浏览器通过直接下载安装GoogleChro ... [详细]
  • Oracle优化新常态的五大禁止及其性能隐患
    本文介绍了Oracle优化新常态中的五大禁止措施,包括禁止外键、禁止视图、禁止触发器、禁止存储过程和禁止JOB,并分析了这些禁止措施可能带来的性能隐患。文章还讨论了这些禁止措施在C/S架构和B/S架构中的不同应用情况,并提出了解决方案。 ... [详细]
  • mac php错误日志配置方法及错误级别修改
    本文介绍了在mac环境下配置php错误日志的方法,包括修改php.ini文件和httpd.conf文件的操作步骤。同时还介绍了如何修改错误级别,以及相应的错误级别参考链接。 ... [详细]
  • HTML5网页模板怎么加百度统计?
    本文介绍了如何在HTML5网页模板中加入百度统计,并对模板文件、css样式表、js插件库等内容进行了说明。同时还解答了关于HTML5网页模板的使用方法、表单提交、域名和空间的问题,并介绍了如何使用Visual Studio 2010创建HTML5模板。此外,还提到了使用Jquery编写美好的HTML5前端框架模板的方法,以及制作企业HTML5网站模板和支持HTML5的CMS。 ... [详细]
  • centos安装Mysql的方法及步骤详解
    本文介绍了centos安装Mysql的两种方式:rpm方式和绿色方式安装,详细介绍了安装所需的软件包以及安装过程中的注意事项,包括检查是否安装成功的方法。通过本文,读者可以了解到在centos系统上如何正确安装Mysql。 ... [详细]
  • Redis API
    安装启动最简启动命令行输入验证动态参数启动配置文件启动常用配置通用命令keysbdsize计算key的总数exists判断是否存在delkeyvalue删除指定的keyvalue成 ... [详细]
  • 本文介绍了使用readlink命令获取文件的完整路径的简单方法,并提供了一个示例命令来打印文件的完整路径。共有28种解决方案可供选择。 ... [详细]
  • top命令使用方法及解读
    本文介绍了top命令的使用方法和解读,包括查看进程信息、系统负载、内存状态、CPU占用等内容。通过top命令可以持续观察系统上运行的进程,并了解系统负载情况,及时关闭一些进程以减轻系统负担。同时,还介绍了top命令的快捷键和安全模式启动方法。通过本文的学习,读者可以更好地使用top命令来管理系统进程。 ... [详细]
author-avatar
epa4316380
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有