将两个greps的输出合并为一个文件
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将两个greps的输出合并为一个文件相关的知识,希望对你有一定的参考价值。
所以我有以下两个命令:
grep 'substring1' file1.txt > outfile.txt
grep 'substring2' file2.txt > outfile.txt
我想将两个greps合并在一起,并将它们全部写入outfile.txt作为一个命令。这样的命令怎么样?
答案
您可以轻松地将这两个命令组合在一起,例如:
grep 'substring1' file1.txt > outfile.txt ; grep 'substring2' file2.txt >> outfile.txt
“;”将两个命令分开后,第二个命令将在第一个命令完成后执行。
“>>”表示将输出附加到现有文件。 (如果文件不存在,则“>”没有区别)
您可以将此简单模式用于许多不同的任务。
另一答案
两种可能性:
- 将它们分组:
{ grep 'substring1' file1.txt grep 'substring2' file2.txt } > outfile.txt
或者内联:{ grep 'substring1' file1.txt; grep 'substring2' file2.txt; } > outfile.txt
(注意结束大括号前的分号)。 - 使用appending redirection operator
>>
进行第二次重定向:grep 'substring1' file1.txt > outfile.txt grep 'substring2' file2.txt >> outfile.txt
考虑到文件只打开一次,分组方法是可取的。如果你需要做一些写入两个grep
s之间的stdout的东西,第二种方法更可取。
另一答案
好吧,首先,你列出这些命令的方式,他们将无法完成。你没有提供文件名,因此,grep将使用stdin,除非你给它一些输入,它将阻止。
话说回来....
如何在一个命令中完成所有操作?
egrep 'substring1|substring2' source_file.txt > outfile.txt
qazxsw poi允许匹配多个搜索字符串,由“|”分隔。
希望有所帮助。
以上是关于将两个greps的输出合并为一个文件的主要内容,如果未能解决你的问题,请参考以下文章