在文件中搜索data
包含该模式的所有行linux
,并将这些行放入文件中matches
。
答案1
grep linux <data >matches
默认情况下,该grep
实用程序使用第一个非选项参数作为模式,并在其输入数据中提取与该模式匹配的所有行。在上面的命令中,grep
从标准输入读取并将与模式匹配的行写入linux
其标准输出。标准输入来自名为 的文件data
,标准输出写入名为 的文件matches
。
在上面的命令中,如果data
文件不可读取或无法matches
写入,则该实用程序将不会运行。如果matches
不存在则创建;否则,文件将被截断(清空)。
在你的问题中,模式是一串文本而不是正则表达式,这意味着我们可以使用grep
它的-F
选项来稍微加快处理速度。该-F
选项使实用程序将模式视为固定字符串。如果您想要搜索类似 的文本字符串U*ix
,这也是您想要使用的选项,*
否则,其中将被视为特殊的正则表达式符号。
对于任意模式字符串,您需要使用该-e
选项,并将模式作为选项参数。这样,您就可以搜索以破折号开头的字符串,您愿意这样做吗:
grep -F -e linux <data >matches
如果您的模式字符串代表一个单词,即由字母数字字符和/或下划线组成的子字符串,您可能希望使用非标准-w
选项。这会导致你的模式不是匹配linuxes
或相似的词。