和grep有什么区别?

tn2*_*000 7 unix command find

这些命令有什么区别:

find . –type f –name '*txt*' 
Run Code Online (Sandbox Code Playgroud)

find . –type f | grep 'txt'
Run Code Online (Sandbox Code Playgroud)

我试图运行这个并且有区别,但我想知道为什么?

The*_*ter 10

主要区别是FIND用于使用过滤器搜索文件和目录,而GREP用于搜索文件内的模式或搜索过程.

FIND是使用过滤器(如大小,访问时间,修改时间)搜索文件和文件夹的命令.
find命令列出目录中的所有文件及其与一组过滤器匹配的子目录.
此命令最常用于查找具有特定名称的所有文件.

要查找当前目录及其所有子目录中名为theFile.txt的所有文件,请输入:

find . -name theFile.txt -print
Run Code Online (Sandbox Code Playgroud)

要在当前目录及其子目录中查找以扩展名.txt结尾的所有文件,请输入:

find . -name "*.txt" -print
Run Code Online (Sandbox Code Playgroud)

GREP :(全球搜索正则表达式和打印)

搜索文件以查找指定的字符串或表达式.

Grep搜索包含指定模式的行,默认情况下将它们写入标准输出.

grep myText theFile.txt

结果:Grep将打印出每行包含单词myText.


fpm*_*phy 4

在第一个示例中,您使用该find实用程序列出常规文件的文件名,其中文件名包含字符串txt

在第二个示例中,您使用该find实用程序列出常规文件的文件名,并通过管道将生成的文件名提供给该grep实用程序,该实用程序在管道的内容(文件名列表,每行一个)中搜索字符串txt。每次找到该字符串时,都会输出相应的行(即文件名)。