【发布时间】:2015-11-25 04:44:10
【问题描述】:
我敢说,我主要是一个 Windows 人(请不要太早把我击倒),虽然我过去在 Linux 中玩过(主要是命令行)。 我有一个过程,我必须偶尔经历一次,本质上是在一个目录(和子目录)中的所有日志文件中搜索某个文件名,然后从所述日志文件中获取一些内容。
我的第一步是
grep -Ril <filename or Partial filename you are looking for> log/*.log
据此我有日志文件名,我vi 可以找到它发生的位置。
澄清一下:grep 正在查看所有日志文件,查看 -Ril 之后的文件名是否出现在其中。
vi log/<log filename>
/<filename or Partial filename you are looking for>
我做了几次j 以找到 CDATA,然后我有一个需要提取的 URL,然后在 putty 中进行选择,复制并粘贴到浏览器中。
然后我退出vi 而不保存。
FRED1 triggered at Mon Aug 31 14:09:31 NZST 2015 with incoming file /u03/incoming/fred/Fred.2
Fred.2
start grep
end grep
Renamed to Fred.2.20150831140931
<?xml version="1.0" encoding="UTF-8"?>
<runResponse><runReturn><item><name>runId</name><value>1703775</value></item><item><name>runHistoryId</name><value>1703775</value></item><item><name>runReportUrl</name><value>https://<Servername>:<port and path>b1a&sp=l0&sp=l1703775&sp=l1703775</value></item><item><name>displayRunReportUrl</name><value><![CDATA[https://<Servername>:<port and path2>&sp=l1703775&sp=l1703775]]></value></item><item><name>runStartTime</name><value>08/31/15 14:09</value></item><item><name>flowResponse</name><value></value></item><item><name>flowResult</name><value></value></item><item><name>flowReturnCode</name><value>Not a Return</value></item></runReturn></runResponse>
filePath=/u03/incoming/fred&fileName=Fred.2.20150831140931&team=dps&direction=incoming&size=31108&time=Aug 31 14:09&fts=nzlssftsd01
----------------------------------------------------------------------------------------
FRED1 triggered at Mon Aug 31 14:09:31 NZST 2015 with incoming file /u03/incoming/fred/Fred.3
Fred.3
start grep
end grep
Renamed to Fred.3.20150999999999
<?xml version="1.0" encoding="UTF-8"?>
<runResponse><runReturn><item><name>runId</name><value>1703775</value></item><item><name>runHistoryId</name><value>1703775</value></item><item><name>runReportUrl</name><value>https://<Servername>:<port and path>b1a&sp=l0&sp=l999999&sp=l9999999</value></item><item><name>displayRunReportUrl</name><value><![CDATA[https://<Servername>:<port and path2>&sp=l999999&sp=l999999]]></value></item><item><name>runStartTime</name><value>08/31/15 14:09</value></item><item><name>flowResponse</name><value></value></item><item><name>flowResult</name><value></value></item><item><name>flowReturnCode</name><value>Not a Return</value></item></runReturn></runResponse>
filePath=/u03/incoming/fred&fileName=Fred.3.20150999999999&team=dps&direction=incoming&size=31108&time=Aug 31 14:09&fts=nzlssftsd01
我要获取的是CDATA[https://<Servername>:<port and path2>&sp=l999999&sp=l999999] 中Fred.3.20150999999999 的URL,由Renamed to Fred.3.20150999999999 行指示。
这可能吗? (我对 XML 格式表示歉意,但它与日志文件中的完全相同。)
提前致谢,
电话
【问题讨论】:
-
我粘贴的日志的sn-p只有一部分。有多个这样的条目,因此我们需要找到与要提取的文件名关联的条目。 (在上面的 sn-p 中,文件名是 Fred.2)