我想10.2.0.4.0
从 AIX 中的 tnsping 输出中获取,所以我写了tnsping tucson | grep Version | awk '{print $9}'
,但有时在 Linux 等其他平台上,列会有所不同,所以我不能{print $9}
到处使用。有没有这样的方法
- 该命令寻找
Version
- 然后在它打印出现的任何数字之后(包括“。”)
还是有什么其他方法?
TNS Ping Utility for IBM/AIX RISC System/6000: Version 10.2.0.4.0 - Production on 16-NOV-2011 16:19:02
Copyright (c) 1997, 2007, Oracle. All rights reserved.
Used parameter files:
Used HOSTNAME adapter to resolve the alias
Attempting to contact (DESCRIPTION=(CONNECT_DATA=(SERVICE_NAME=bluebird.informatica.com))(ADDRESS=(PROTOCOL=TCP)(HOST=10.65.40.235)(PORT=1521)))
TNS-12535: TNS:operation timed out
我为 AIX、HPUX 和 Linux 获得了它:
tnsping tucson | grep Version | awk -F Version '{print $2}' | awk '{print $1}'
但是我在SunOS上遇到了一个错误,我想要一些可以在 Linux、HP-UX、AIX 和 SunOS 上运行的东西。
zenvo% tnsping tucson | grep Version | awk -F Version '{print $2}' | awk '{print $1}'
awk: syntax error near line 1
awk: bailing out near line 1
庇护所回答后更新
Linux、AIX 和 HP-UX:
tnsping tucson | grep Version | awk -F Version '{print $2}' | awk '{print $1}'
太阳操作系统:
tnsping tucson | grep Version | nawk -F Version '{print $2}' | nawk '{print $1}'