我已将SQL查询的结果传送到日志文件中,并且在自由空间列下获得119 GB值时出现问题。
[echo] SQL*Plus: Release 11.2.0.1.0 Production on Wed Oct 1 13:39:19 2014
[echo]
[echo] Copyright (c) 1982, 2010, Oracle. All rights reserved.
[echo]
[echo]
[echo] Connected to:
[echo] Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
[echo]
[echo]
[echo] Database Size Used space Free space
[echo] -------------------- -------------------- --------------------
[echo] 126 GB 7 GB 119 GB
[echo]
[echo] SQL> Disconnected from Oracle Database 11g Release 11.2.0.1.0 - 64bit Production
上述输出和更多(即典型的SQL输出)都存储在Ant变量中。我在获取上面一块的最后一块时遇到了问题 - 即只有自由空间下的119 GB。任何帮助都会受到赞赏。
答案 0 :(得分:0)
你可以(仍然)用AWK获得这个,虽然在你编辑之后它更像是一个黑客而不是任何东西:
BEGIN {
RS = "\n"
}
/Database Size/ {
r = NR + 2
}
(NR == r) {
nfm1 = NF - 1
print $nfm1, $NF
}
答案 1 :(得分:0)
你应该告诉我们更多关于你的计算机是这个linux还是Windows?你想用Java或Bash回答吗?
无论如何,该行最后一行的正则表达式是:
[0-9]+\sGB$