linux - grep 不写入文件

标签 linux bash grep redhat tail

我在我的主目录中,并提供了一个指向我想要跟踪的两个不同文件的路径。我为 2 个变量搜索的每个文件。我的问题是这个脚本出于某种原因没有写入 saveFile.txt。 saveFile.txt 与我正在运行的脚本位于同一目录中。

#!/bin/sh
tail -f <path1> -f <path2> | egrep -i --line-buffered '<variable1>|<variable2>' > saveFile.txt

还有一个额外的好处,有没有办法为通过同一脚本扔进文件的输出添加间距?有人告诉我,用 Ruby 或 Python 编写可能更容易哈哈。

谢谢!

最佳答案

这是一个工作示例:

tail -f ./listener/alert/log.xml ./listener/trace/listener.log  | grep -P --line-buffered '[A-z]+' | tee ~/foo.txt

注意:tail 不需要多个 -f 参数。我在带有 -P 标志的 grep 中使用 perl 正则表达式。最后,我喜欢在控制台上查看输出并将其发送到文件,因此我使用了 tee

关于linux - grep 不写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42279842/

相关文章:

android - FTDI芯片支持Android设备

c - bash 解释器 linux 的读/写标准输入/输出,fork - execl

regex - 使用正则表达式重命名部分文件名

bash - 为什么 "$<space><tab><tab>"执行文件名补全?

linux - bash 在给定模式之前用逗号查找并替换 "enter"

linux - Bash - 管道多个 grep 并打印输出

linux - 使用 grep 命令,我可以打印与我的命令匹配的数据,但是当数据不可用时如何打印错误?

c++ - Unix/Linux Socket 编程的好读物?

linux - 如何正确使用这个 cp 命令

linux - bash:grep 通配符开始和结束