我正在尝试使用示例搜索特定文件,我如何使用grep命令搜索文件?
尝试grep searchingforfile /Users/myuser/path/to/dir
返回:
grep:/Users/myuser/path/to/dir:是一个目录
请告诉我在这种情况下搜索文件的最佳方法是什么
如果您想从grep中排除"is a directory"标准错误内容,请使用grep -s。
如果要查找当前目录中以f
开头的文件:
ls f*
查找当前目录及以下所有目录中以"jpg"结尾的文件:
find . -type f -name "*.jpg" -print
如果你想在当前目录及以下目录中包含pattern文件名:
find . -type f -name "pattern" -print
但是在图案的两边加上一个星号(我不能在这里这样做)
或者,如果您的模式更复杂
find . -type f -print | grep "someFunkyPattern"
如果你想在一个名为fred
的文件中搜索模式:
grep pattern fred
如果你想在名为friends1
和friends2
的文件中搜索bill
或steve
,并且你不关心大小写(大写字母),使用-i
选项:
egrep -i "steve|fred" friends1 friends2
如果你想在所有以"friend*"开头的文件中搜索Mike:
grep Mike friend*
该云为"type-Primary"
find . -type f -iname "pattern" -print
显示"仅"常规文件。对于其他类型,请参见下文:
-type t : True if the file is of the specified type. Possible file types are as follows:
b block special
c character special
d directory
f regular file
l symbolic link
p FIFO
s socket
只需添加-r来指定它是递归搜索,因此
grep -r searchingforfile /Users/myuser/path/to/dir