анализ tnsnames.ora с использованием grep для извлечения имени хоста за вычетом домена
Вопрос
У меня есть файл 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
Решение
Поскольку 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)
Таким образом, вы легко можете создать свой набор команд для таких вещей. Р>
Не связан с StackOverflow