linux中的Grep命令-掌握它
Linux是由软件爱好者创建的,他们想让所有人都可以免费使用。源代码也保持开放,以便任何人都可以对其作出贡献。一个热爱Linux的社区就这样形成了让它成为一个强大而健壮的操作系统。这些人补充说命令使Linux变得非常强大和受欢迎。
Grep就是Linux中的一个这样的命令,作为用户,您会发现它非常有用。让我们看看如何使用grep来简化您的工作。我们假设您有Linux的基本知识。如果没有,我们建议您先去通过这个简单的Linux速成课程。
grep的历史
这个命令最初是为UNIX操作系统但后来适用于所有基于unix的操作系统,并在Linux中得到了特别的应用。名称grep来自ed命令g/re/p,表示“全局搜索正则表达式并打印”。这几乎就是grep所做的:它搜索字符串或表达式并打印所有匹配的行。我们在Windows中也做这种类型的搜索,但这只是显示文件。Grep为您提供了更多值得探索的选项。让我们看一看。
如何使用grep
grep命令搜索作为参数指定的文件。如果不指定任何参数,它将搜索程序的标准输入。Grep已被编程为在标准输出上返回结果,但它还提供了指定特定操作模式的选项。
grep的语法
Grep采用以下形式,
>grep [options] pattern [file]
让我们通过一个例子来更好地理解这个问题。
> grep贝瑞fruits.txt
在上面的命令中,我们搜索文件fruits.txt中包含单词berry的所有行。在使用grep时,您需要记住该命令的默认行为。不考虑单词边界,因此包含草莓或蓝莓的线也将包括在内。您必须记住,该函数在默认情况下是区分大小写的,因此包含“Berry”的行将不会包含在结果中。
可以在多个文件中进行搜索。这可以通过依次输入文件名并在文件名之间加上间隔或使用通配符来实现。例如,要在文件fruit.txt、fruitlist.txt和recipe.txt中搜索apple,命令是:
>grep berry fruits.txt frulist .txt食谱
野生字符也可以与grep一起使用。假设您想在所有文件中找到单词“berry”。在这种情况下,语法是,
> grep贝瑞* . txt
用选项i重写区分大小写
如前所述,grep命令是区分大小写的。您可以使用-i选项覆盖此特性。让我们看看如何使用这个选项。
>grep -i Tom Namelist.txt
使用此选项,grep将搜索Tom、Tom、Tom和所有其他组合。
用grep匹配确切的单词
您还可以强制该命令匹配整个单词,例如,对于第一个示例,您可以使它只搜索berry,而不返回包含blueberry或strawberry的行。-w选项允许您实现此功能。
>grep -w浆果水果列表
用grep匹配精确的行
与匹配单词类似,grep也可以匹配精确的行。-x是你在这种情况下必须使用的选项。
>grep -x“berry is good”fruitlist.txt
使用grep递归
Grep非常灵活,可以通过-r选项搜索子目录
>grep -r Tom /etc/namelist
计算出现的次数
除了查找与字符串匹配的行之外,您可能还希望查找字符串出现的次数。-c选项可以帮助您做到这一点。
>grep -c浆果水果列表
找出匹配搜索的行数
您还可以通过-n选项的帮助找到匹配字符串的行数。
>grep -n berry fruitlist.txt
反相匹配
您肯定可以看到,Grep非常灵活。让我们看看另一个经常使用的选项。在grep的帮助下,可以从与搜索字符串不匹配的文件返回行。这被称为反向匹配,它可以通过使用-v选项来完成。
>grep -v berry fruitlist.txt
这个命令行将显示所有不包含字符串' berry '的行。
匹配文件列表
您可能对包含特定字符串而不是单个行的文件感兴趣。在这种情况下,可以使用-l选项。
>grep -l main *.txt
这个命令将显示包含文本main的目录中的所有文件。
彩色显示
也可以用颜色显示结果。颜色选项是可用的
>grep - color fruits/ etc/fruits/ frulist . txt
除此之外,您还可以使用grep执行各种操作。这真的是一个有趣的探索命令。我们还没有以不同的方式重定向输出。由于有大量关于Linux的细节,所以不可能在本文中包含所有的选项。只是使用' man '命令获取所有选项,以及如何使用它们的信息。
>人grep
我们希望本教程能让您对grep函数及其所有选项有一个大致的了解。与Windows不同,Linux中的命令更精细,需要一段时间才能掌握它们。再多努力一点,你也能设置您自己的Linux服务器。