我是Linux新手。当我输入grep filename
并按输入时,它显示一个带光标的空行,我必须按 ctrl + z 或< kbd> ctrl + c 退出。难道它不会向我显示命令未完成的某种错误吗?简而言之,在我输入grep filename
并按后输入后发生的事情。
答案 0 :(得分:1)
当您输入grep test1
时,test1
不是文件名,而是您要搜索的模式,输入文件为stdin
。因此,您的控制台输入将是您的“输入文件”。您可以看到当您输入包含字符串“test1”的行时,模式匹配并在控制台上立即打印出来。
请参阅here了解其手册页
grep搜索命名输入FILE(如果没有文件,则搜索标准输入) 命名,或者如果给出一个连字符 - 减号( - )作为文件名)
答案 1 :(得分:0)
您可以通过不同方式运行grep
。
你可能想要的是像这样运行grep
:
$ grep pattern file
这将返回包含file
的{{1}}中的所有行。
如果你这样运行pattern
:
grep
$ grep pattern
实用程序将从标准输入(在这种情况下为键盘)中读取,并将回显您键入该模式的每一行。
例如:
grep
第一次输入 Enter 后,第二行“粉碎控制图像”由$ grep 'images'
Cut word lines
Cut music lines
Smash the control images
Smash the control images
Smash the control machine
打印。
请注意grep
假定它获得的第一件事(除了命令行选项)是一种模式。如果我的示例中有一个名为grep
的文件,则无关紧要。