我的问题是我想从数据库检查日志收集信息,如数据库名称,版本以及更多Cmd
以下是此日志的简短示例:
########################################################################
# Oracle Database Check Report #
########################################################################
Date Of This Report:
13 June 2018 12:58
Database Name:
XE
Database Version:
11.2.0.2.0
Database Characterset:
AL32UTF8
Database Language:
AMERICAN
...
所以我想搜索几个要保存到另一个文件的内容,以便稍后将它们插入到表中。什么是存档的最佳方式? 主要问题是在日志中搜索这些内容,因为使用
/find "Database Name:" xxx.log
只给我一行
----------- xxx.log
Database Name:
需要获取以下数据库名称。 但我缺少批量技术
平台:Windows。 数据库:Oracle。
答案 0 :(得分:0)
批处理不是使用正则表达式压缩报表的首选语言。
我建议使用PowerShell。该脚本返回可以进一步处理的PropertyValue对。
$File = '.\OracleDataBaseCheckReport.txt'
$PropertyValue = (Get-Content $File -raw) `
-Replace "(?smi)^(Da.*?):\s*\r?\n\s*\r?\n(.*?)$",'"$1"="$2"' `
-Replace ' +',' ' `
-Split '\r?\n' |
Select-String '"="'
PS> $PropertyValue
"Date Of This Report"="13 June 2018 12:58"
"Database Name"="XE"
"Database Version"="11.2.0.2.0"
"Database Characterset"="AL32UTF8"
"Database Language"="AMERICAN"