تحليل tnsnames.أورا باستخدام البقرى لاستخراج المضيف ناقص المجال
سؤال
لدي tnsnames.أورا الملف مثل
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
المحلول
كما البقرى يطبع خط كامل, يمكنك أن تفعل ذلك في خطوات مثل:
grep "(host=" tnsnames.ora | cut -f 2 -d '=' | cut -f 1 -d '.'
كسر:
- البقرى "(host=" tnsnames.أورا -- يجد كل الخطوط مع دخول "(host="
- قطع و 2 -د '=' -- يجد ما هو في العمود رقم 2 إذا كنت القسمة على '=' حرف
- cut -f 1 -د '.' -- يجد ما هو في العمود رقم 1 إذا قمت بتقسيم قبل '.' حرف
يمكنك تنفيذ سلسلة من الأوامر إلى أي نقطة ، لمعرفة النتيجة الوسيطة, مثل:
grep "(host=" tnsnames.ora | cut -f 2 -d '='
سوف تعطيك:
myhost1.mydomain.com)
myhost2.mydomain.com)
بهذه الطريقة فإنه من السهل لبناء مجموعة من الأوامر للقيام بهذا النوع من الشيء.
لا تنتمي إلى StackOverflow