我们今天要学习的grep实用程序是一个Unix工具,它与egrep和fgrep实用程序属于同一系列。这些都是用于对文件和文本执行重复搜索任务的Unix工具。您可以通过grep命令指定特定搜索条件来搜索文件及其内容以获取有用的信息。
在这个命令格式中最小次数可以省略,vim默认的情况下最小次数为0.所以表达式a\{,5}可以匹配0到5个a.最大次数也可以省略,在这种情况下vim默认匹配无穷大.所以表达式a\{3,}最少可以匹配3个a,最多是尽可能的多.。??可以理解为搜索字符向量中匹配参数pattern的模型,fixed的逻辑值决定将pattern视为正则表达式或一个文本字符串,若fixed=ture,则视pattern为文本字符串(精确匹配)。grep支持正则表达式,正则表达式是一种文本匹配工具,一般编程语言都支持正则表达式。
g/re/p
该命令的目的与我们通过grep进行搜索的含义非常相似。此命令获取与特定文本模式匹配的文件中的所有行。
让我们进一步研究grep命令。在本文中linux命令大全,我们将解释grep实用程序的安装,并给出一些示例,通过这些示例,您可以确切地了解如何以及在何种情况下可以使用它。
我们在Ubuntu18.04 LTS系统上运行了本文中提到的命令和过程。
虽然大多数Linux系统默认使用grep实用程序,但如果您的系统上没有安装它,以下是安装过程:
打开终端命令窗口,输入“service smb start”命令,即可出现以下提示信息,表示samba服务已经启动。3、重新打开新的mac终端(第二步终端不要关闭),cd到越狱包路径,输入以下命令:。3、重新打开新的mac终端(第二步终端不要关闭),cd到越狱包路径,输入以下命令:。
linuxidc@linuxidc:~$sudo apt-get install grep
在安装过程中出现y/n选项提示时输入y。 之后,grep实用程序将安装在您的系统上。
您可以通过以下命令检查grep版本来验证安装:
linuxidc@linuxidc:~$grep --version
将grep命令与示例一起使用
grep命令可以通过介绍可以使用它的一些场景来得到最好的解释。 这里有一些例子:
搜索文件
如果要搜索包含特定关键字的文件名,可以通过grep命令过滤文件列表,如下所示:
句法:
$ ls -l | grep -i “searchword”
例子:
linuxidc@linuxidc:~$ls -l | grep -i linuxidc
此命令将列出当前目录中包含单词“linuxidc”的文件名的所有文件。
在文件中搜索字符串
您可以通过grep命令从包含特定文本字符串的文件中获取一个句子。
句法:
grep “string” filename
例:
linuxidc@linuxidc:~$grep 'Ubuntu' linuxidc.txt
我的示例文件linuxidc.txt包含具有字符串“Ubuntu”的句子,您可以在上面的输出中看到该句子。 关键字和字符串在搜索结果中以彩色形式显示。
在多个文件中搜索字符串
如果您想从同一类型的所有文件中搜索包含您的文本字符串的句子,grep命令随时为您服务。
语法1:
$ grep “string” filenameKeyword*
语法 2:
$ grep “string” *.extension
例子1:
linuxidc@linuxidc:~$grep 'Ubuntu' linuxidc*
此命令将从包含关键字“linuxidc”的文件名的所有文件中获取包含字符串“Ubuntu”的所有句子。