1

У меня есть исходная текстовая конфигурация от балансировщика нагрузки, и я хочу использовать grep только для виртуальных серверов, к которым применен профиль TCP. Пример конфигурации приведен ниже, и из этого я хотел бы вывести первую строку (позже я могу использовать awk чтобы просто фильтровать имя VS при необходимости). Обратите внимание, что я делаю это в автономном режиме, без доступа к устройству.

ltm virtual /Common/custom_ldap-vs {
    destination /Common/10.1.1.2:389
    ip-protocol tcp
    mask 255.255.255.255
    persist {
        /Common/source_addr {
            default yes
        }
    }
    pool /Common/dev_itim_rhitimdevtds_ldap-pool
    profiles {
       <b> /Common/Custom_tcp_Profile { } </b>
    }
    source 0.0.0.0/0
    source-address-translation {
        type automap
    }
    translate-address enabled
    translate-port enabled
    vlans {
        /Common/vlan_3
    }
    vlans-enabled
}

1 ответ1

1

Попробуйте сначала удалить строки из файла. Затем разбейте каждый виртуальный сервер на собственную линию. Затем вы можете grep для вашей строки профиля:

perl -pe 's/\n//mg' yourfile.txt | perl -pe 's/ltm virtual/\n/g' | grep Custom_tcp_Profile | perl -pe 's/(.*?){.*/$1/'

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .