我想從AIX的tnsping輸出中提取10.2.0.4.0
,所以我寫了tnsping tucson | grep Version | awk '{print $9}'
,但有時在Linux等其他平臺中的列不盡相同,所以我不能無處不在使用{print $9}
。有沒有一種方法,使得如何在AIX,SunOS,Linux和HP-UX中從tnsping輸出中提取版本
- 的命令查找
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,HP-UX和Linux:
tnsping tucson | grep Version | awk -F Version '{print $2}' | awk '{print $1}'
但我得到一個錯誤的的SunOS我想要的東西,可以在Linux,HP-UX,AIX工作, SunOS中。住房的回答
的Linux,AIX和HP-UX後
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
更新:
tnsping tucson | grep Version | awk -F Version '{print $2}' | awk '{print $1}'
的SunOS:
tnsping tucson | grep Version | nawk -F Version '{print $2}' | nawk '{print $1}'
@shelter:謝謝你讓我知道'nawk'我'AIX'系統是目前下跌,並NAWK讓我在solaris的版本# – abi1964