查找与模式匹配的行并将其提取到另一个文件中

查找与模式匹配的行并将其提取到另一个文件中

在文件中搜索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或相似的词。

相关内容