我有像
这样的tnsnames.ora文件DB_CONNECTION1=
(description=
(address=
(protocol=tcp)
(host=myhost1.mydomain.com)
(port=1234)
)
(connect_data=
(sid=ABCD)
(sdu=4321)
)
DB_CONNECTION2=
(description=
(address=
(protocol=tcp)
(host=myhost2.mydomain.com)
(port=1234)
)
(connect_data=
(sid=ABCD)
(sdu=4321)
)
我需要使用什么正则表达式从密钥主机中提取myhost值。
Ouput should be
myhost1
myhost2
答案 0 :(得分:1)
当grep打印整行时,您可以按照以下步骤执行:
grep "(host=" tnsnames.ora | cut -f 2 -d '=' | cut -f 1 -d '.'
要打破它:
您可以执行任意点的命令链,以查看中间结果,如:
grep "(host=" tnsnames.ora | cut -f 2 -d '='
会给你:
myhost1.mydomain.com)
myhost2.mydomain.com)
通过这种方式,可以轻松构建一组命令来执行此类操作。