使用Linux Grep命令 - 需要输出到文本文件,清洁输出

use*_*188 66 grep text output

使用Grep命令在一组文件中查找搜索字符串时,有没有办法将结果转储到文本文件?还有一个Grep命令的开关,它提供更清晰的结果以提高可读性,例如每个条目之间的换行?也许有一个Grep脚本可以输出更清晰的结果

谢谢

alf*_*sin 89

grep -n "YOUR SEARCH STRING" * > output-file
Run Code Online (Sandbox Code Playgroud)

-n将打印行数和>将grep的,结果重定向到输出文件.
如果你想"清理"结果你可以使用管道过滤它们|,例如:
grep -n "test" * | grep -v "mytest" > output-file 将匹配所有具有字符串"test"的行,除了匹配字符串"mytest"(这是开关-v)的行 - 并将重定向结果输出文件. 在这篇文章中
可以找到一些好的grep-tips

  • 对于未来的访问者来说,@ Crista23的问题的答案是在grep完成时写的 (10认同)
  • grep只在完成时写入,还是在处理内容时逐行写入?谢谢! (9认同)
  • @alfasin - 是不是单个'>'会覆盖输出文件中的结果?我们不应该使用双">>"将结果附加到文件中吗? (5认同)
  • @GTodorov是的,如果你想追加使用`>>` (3认同)

Ign*_*ams 29

程序输出的重定向由shell执行.

grep ... > output.txt
Run Code Online (Sandbox Code Playgroud)

grep没有在每个匹配之间添加空行的机制,但确实提供了诸如匹配行周围的上下文和匹配本身的颜色化等选项.有关grep(1)详细信息,请参见手册页,特别是-C--color选项.


小智 5

要在输出中的文本行之间添加一个空行grep以使其更易于阅读,|请通过管道 ( ) 将其传递sed

grep text-to-search-for file-to-grep | sed G
Run Code Online (Sandbox Code Playgroud)