【问题标题】:Using Grep To Parser Openssl Output使用 Grep 解析 Openssl 输出
【发布时间】:2012-09-22 14:32:08
【问题描述】:

您好,我知道还有一些关于 grep 和解析的其他线程,但我尝试了其他问题中描述的大多数其他方式,但对我没有用,我想将 openssl 日志解析为 .csv 并通过该方式制作通常 ;解析列。

要解析的输出:

Signature Algorithm: sha1WithRSAEncryption

Issuer: C=PT, L=Jersey, O=UFO - UFO Solutions,
CN=UFO Software ROOT Primary CA/emailAddress=ufo@wtf.us

Validity
Not Before: Jan 24 11:10:13 2011 GMT
Not After : Jan 21 11:10:13 2021 GMT

Subject: C=US, L=Jersey, O=UFO - UFO Solutions,OU=CER, CN=UFO PSS Intermediate CA/emailAddress=ufo@wtf.us

Subject Public Key Info:
Public Key Algorithm: rsaEncryption
RSA Public Key: (2048 bit)

我想解析“=”之后的每个单词并获取下一个具有“=”的单词 并将结果保存在 .csv 文件中

我得到的最大值是这个 grep -E '\=' result.txt > teste.csv 我得到了:

Issuer: C=PT, CN=Teste
Subject: C=PT, CN=Teste

所需的结果将是一个只有 results 的 csv。喜欢:

sha1WithRSAEncryption, Jan 24 11:10:13 2011 GMT, Jan 21 11:10:13 2021 GMT, PT, Jersey, UFO, 

等等

【问题讨论】:

  • 请在您的问题中指出您编写的示例输入的预期输出是什么。
  • 我想解析它以获得一个 .csv 文件,其中包含 .: Issuer CommonNAme PT TESTE 等项目
  • @drd0sPy 目前还不清楚,这就是为什么到目前为止你还没有得到任何答案。请edit 问题并添加所需的确切输出。 CommonNAme 是什么?它不在输入中。

标签: linux parsing grep


【解决方案1】:
grep -oP '(?<==)\w*' result.txt

几乎可以满足您的需求(如果您的 grep 版本支持 Perl 正则表达式)。

输出是

PT
Teste
PT
Teste

因为这是值在输入中出现的顺序。

【讨论】:

  • 嗨列夫,你能告诉我如何将他用你的 grep -oP '(?
  • @drd0sPy 你不能用 grep 来做。它用于过滤输入,而不是交替输入。看看 sed。
  • 好的,这都是我创建的 shell 脚本的一部分,所以现在我在 $word 中创建了一个 for w ... $w 你的命令并添加了“;”在 echo $w > result.csv :D tnx 前面
  • Mr.Lev 能否告诉我如何在 grep 命令中获取 .csv 输出:签名算法:sha1WithRSAEncryption Not Before: Sep 21 11:27:02 2012 GMT 日期和“sha1with” " singnature algorithm Not After : May 26 11:27:02 2026 GMT
  • @drd0sPy 您能否再次编辑您的问题以添加您需要的输出?会更容易理解。
猜你喜欢
  • 1970-01-01
  • 2018-06-15
  • 2013-08-07
  • 2021-02-20
  • 1970-01-01
  • 2019-03-08
  • 1970-01-01
  • 1970-01-01
  • 2016-05-05
相关资源
最近更新 更多