这些命令有什么区别:
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.
在第一个示例中,您使用该find实用程序列出常规文件的文件名,其中文件名包含字符串txt。
在第二个示例中,您使用该find实用程序列出常规文件的文件名,并通过管道将生成的文件名提供给该grep实用程序,该实用程序在管道的内容(文件名列表,每行一个)中搜索字符串txt。每次找到该字符串时,都会输出相应的行(即文件名)。