错误:grep:查找:是目录

Ado*_*oyt 5 linux grep

我是Linux的新手,正在学习一些教程和示例。我创建了一个名为文件test,并把alexalexander它。我正在尝试查找just的实例alex

如果我grep alex *收到错误消息:

grep: find: Is a directory.
Run Code Online (Sandbox Code Playgroud)

如果我这样做,cat test | grep alex我就会(预期)

alex
alexander (with alex in red)
Run Code Online (Sandbox Code Playgroud)

为什么第一个导致错误,第二个产生预期结果?

小智 7

正确答案是:

grep -d skip alex /etc/*
Run Code Online (Sandbox Code Playgroud)


Elv*_*sky 5

如果要从特定文件中复制短语,请使用:

# grep "alex" test
Run Code Online (Sandbox Code Playgroud)

如果您使用grep alex *它,它将搜索当前工作目录中的所有文件。如果会遇到子目录,它将告诉您类似“ grep: find: Is a directory
如果您想执行递归搜索”之类的-r键。例如

# grep -r "alex" /some/folder/
Run Code Online (Sandbox Code Playgroud)

在这种情况下,/some/folder/将检查所有文件和子目录中的文件。
而且您可以随时使用man grep