本指南介绍了一些命令行工具,可用于搜索文本文件以查找匹配的字符串或模式。这些工具通常与正则表达式结合使用。grep命令首先出现的是grep实用程序——GlobalRegularExpressionPrint的首字母缩写词,这是一个强大的命令行工具,在搜索文件中的特定字符串或模式时会派上用场。例如,要在文件sshd_conf.txt中搜索包含字符串ssh的行并忽略大小写,请运行以下命令:[root@localhost~]#grep-isshsshd_conf.txt6使用正则表达式搜索文本工具6个工具中的内容,用于使用文本的正则表达式搜索文本中的内容。sed以非交互方式搜索、过滤和替换给定文件中的字符串。默认情况下,sed命令将输出打印到标准输出,这意味着执行结果打印在终端上而不是保存在文件中。例如,要将/etc/selinux/config文件中的SELINUX=enforcing更改为SELINUX=disabled,请调用以下命令:[root@localhost~]#sed-i'/^SELINUX=/s/enforcing/disabled/g'/etc/selinux/config6个使用正则表达式搜索文本内容的工具6个使用正则表达式搜索文本内容的工具修改后保存退出,重启操作系统,这样selinux就可以关闭了.要了解有关如何使用sed命令的更多信息,您可以查看sed手册:mansedackcommandAck是一个用Perl编写的快速且可移植的命令行工具。Ack被认为是grep的替代品,并以视觉上吸引人的方式输出结果。Ack命令在文件或目录中搜索符合搜索条件的行。然后突出显示每行中的匹配字符串。安装方法(Centos7系统):[root@localhost~]#yum-yinstallack比如在sshd_conf.txt中找到包含ssh的那一行,不区分大小写,运行:[root@localhost~]#ack-isshsshd_conf.txt6个使用正则表达式搜索文本内容的工具6个使用正则表达式搜索文本内容的工具搜索到的关键字会高亮显示。搜索工具非常智能,如果用户没有提供文件或目录,它会在当前目录和子目录中进行搜索。在下面的示例中,没有提供文件或目录,但ack会自动检测目录和子目录中的文件中与字符串匹配的行:[root@localhost~]#ack-issh6使用正则表达式搜索文本工具6中的内容使用正则表达式在文本中搜索内容的工具要了解如何使用ack命令,可以查看ack手册:manackawk命令awk是一种成熟的脚本语言,同时也是用于文本处理和数据处理的工具。让我们举一个最简单的例子。假设您正在打印系统日期并且只想打印第一个值,即星期几。在这种情况下,按如下方式将输出通过管道传输到awk:[root@localhost~]#dateMonNov2310:47:42CST2020[root@localhost~]#date|awk'{print$1}'Mon要显示以下内容值,用逗号分隔,像这样:[root@localhost~]#date|awk'{print$6,$2,$3}'2020Nov236使用正则表达式在文本中搜索Toolsforcontent6toolsforsearchingcontentin使用正则表达式的文本搜索工具,但强调速度。它可以在最短的时间内轻松搜索文件中的特定字符串:安装方法(Centos7):www.admin5.com/article/20161008/689315.shtmlsite.qudong.com/2016/0909/360569.shtml[root@localhost~]#yum-yinstallepel-release&&yummakecache[root@localhost~]#yum-yinstallthe_silver_searcher例如,要在/etc/passwd文件中搜索字符串“nologin”,使用以下命令:[root@localhost~]#agnologin/etc/passwd6个使用正则表达式搜索文本内容的工具6个使用正则表达式搜索文本内容的工具要了解有关如何使用SilverSearcher工具的更多信息,可以查看ag的手册:managripgreptoolripgrep命令行工具。Ripgrep是用于正则表达式模式的跨平台实用程序。它比前面提到的所有搜索工具都快得多,并且可以递归地在目录中搜索匹配的模式。在速度和性能方面,没有其他工具能比得上Ripgrep。默认情况下,ripgrep将跳过二进制/隐藏文件和目录。此外,默认情况下,它不会搜索被.gitignore/.ignore/.rgignore文件忽略的文件。安装ripgrep(Centos7):[root@localhost~]#yum-yinstallyum-utils[root@localhost~]#sudoyum-config-manager--add-repo=https://copr.fedorainfracloud...[root@localhost~]#yum-yinstallripgrep例如,要在当前目录下的文件中搜索字符串“Linux”,运行以下命令:[root@localhost~]#rgLinux6使用正则表达式在文本中搜索内容工具6种使用正则表达式搜索文本内容的工具广泛使用的命令行工具。
