Linux中使用正则表达式的命令

正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串,正则表达式是繁琐的,但它是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感,下面为大家讲解一下Linux中使用正则表达式的命令。

grep命令

首先出现的是grep实用工具——它是Global Regular Expression Print的首字母缩写,是一种强大的命令行工具,在搜索文件中的特定字符串或模式时非常方便。

例如,要在忽略大小写的情况下搜索文件sshd_conf.txt中包含ssh字符串的行,请运行以下命令:

[root@localhost ~]# grep -i ssh sshd_conf.txt

想要了解更多关于grep命令的使用方式,可以查看grep的手册:man grep

sed命令

sed 是 Stream Editor 的缩写,用于操作文本文件中的文本。sed以非交互方式搜索、筛选和替换给定文件中的字符串。

默认情况下,sed命令将输出打印到标准输出,这意味着执行的结果打印在终端上,而不是保存在文件中。

例如,将文件/etc/selinux/config中的SELINUX=enforcing改成SELINUX=disabled,请调用以下命令:

[root@localhost ~]# sed -i '/^SELINUX=/s/enforcing/disabled/g' /etc/selinux/config

修改之后,保存退出,重启操作系统,这样可以关闭selinux。

想要了解更多关于sed命令的使用方式,可以查看sed的手册:man sed

ack命令

Ack是用Perl编写的快速且可移植的命令行工具。Ack被认为是grep的替代品,并以视觉吸引人的方式输出结果。Ack命令在文件或目录中搜索包含与搜索条件匹配的行。然后突出显示各行中的匹配字符串。

安装方式(Centos7系统):

[root@localhost ~]# yum -y install ack

例如,要在sshd_conf.txt中查找包含ssh的行,不区分大小写,请运行:

[root@localhost ~]# ack -i ssh sshd_conf.txt

搜索出来的关键字会以高亮的方式显示出来。

搜索工具非常智能,如果用户未提供文件或目录,它会在当前目录和子目录中搜索。在下面的示例中,没有提供文件或目录,但是ack自动检测到了目录和子目录中匹配字符串的文件里面的行:

[root@localhost ~]# ack -i ssh

想要了解更多关于ack命令的使用方式,可以查看ack的手册:man ack

awk命令

awk是一种成熟的脚本语言,也是文本处理和数据处理工具。让我们以最简单的例子为例。假设正在打印系统日期,只想打印第一个值,即星期几。在这种情况下,将输出通过管道传输到awk中,如下所示:

[root@localhost ~]# date
Mon Nov 23 10:47:42 CST 2020
[root@localhost ~]# date |awk '{print $1}'
Mon

要显示后面的值,请使用逗号分隔它们,如下所示:

[root@localhost ~]# date |awk '{print $6,$2,$3}'
2020 Nov 23

想要了解更多关于awk命令的使用方式,可以查看awk的手册:man awk

Silver Searcher工具

Silver Searcher是一个类似于ack的跨平台和开源代码搜索工具,但注重速度。它可以在最短的时间内轻松搜索文件中的特定字符串:

安装方式(Centos7):

[root@localhost ~]# yum -y install epel-release && yum makecache
[root@localhost ~]# yum -y install the_silver_searcher

例如,在/etc/passwd文件中搜索字符串”nologin”,使用以下命令:

[root@localhost ~]# ag nologin /etc/passwd

想要了解更多关于Silver Searcher工具的使用方式,可以查看ag的手册:man ag

ripgrep工具

ripgrep命令行工具。Ripgrep是用于正则表达式模式的跨平台实用程序。它比前面提到的所有搜索工具速度都快得多,并且可以递归搜索目录以找到匹配的模式。在速度和性能方面,没有其他工具比Ripgrep出色。

默认情况下,ripgrep将跳过二进制文件/隐藏的文件和目录。另外,在默认情况下,它不会搜索被.gitignore / .ignore / .rgignore文件忽略的文件。

安装ripgrep(Centos7):

[root@localhost ~]# yum -y install yum-utils
[root@localhost ~]# sudo yum-config-manager --add-repo=https://copr.fedorainfracloud.org/coprs/carlwgeorge/ripgrep/repo/epel-7/carlwgeorge-ripgrep-epel-7.repo
[root@localhost ~]# yum -y install ripgrep

例如,要在当前目录内的文件中搜索字符串“Linux”,请运行以下命令:

[root@localhost ~]# rg Linux

想要了解更多关于ripgrep命令的使用方式,可以查看rg的手册:man rg

总结

这些是Linux中用于搜索、过滤和操作文本的最广泛使用的命令行工具。

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/199231.html<

(0)
运维的头像运维
上一篇2025-04-04 18:02
下一篇 2025-04-04 18:03

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注