Grep — это утилита командной строки, которая находит при указании определенного выражения все строки, в которых оно содержится и выводит их. Применяется в качестве механизма фильтрации.
В реализации ПО для моделей LTP-N; LTX работа этой утилиты предусматривает несколько условий фильтрации, позволяющих выводить только ту информацию, которая требуется, ускоряя процесс поиска данных.
Реализация
Для активации фильтрации вывода используется символ "|". Он ставится после ввода запроса. За этим символом применяются уточняющие фильтры : include; exclude; begin.
А также опции: context и case-sensitive, работа которых будет рассмотрена ниже. Синтаксис команды:
<запрос_вывода> | <уточняющий_фильтр> <искомое_выражение> <опция1> <опция2>
Уточняющие фильтры
Команда include фильтрует вывод согласно стандартному условию, выводя только те строки, в которых содержится указанное выражение.
Например, команда для вывода состояния всех подключенных терминалов серии NTX будет выглядеть так :
LTX-16# show interface ont 1-16 connected | include NTX 1 16 1 ELTX6F0000ED OK -22.84 NTX-1 1.1.0.1016
Команда exclude фильтрует вывод согласно обратному условию, выводя все строки, в которых указанное выражение не содержится.
Например, команда для вывода всех настроек ААА, за исключением конфигурации tacacs, будет выглядеть так:
LTX-16# show running-config aaa all | exclude tacacs aaa no enable no authentication no authorization no accounting service name "shell" service protocol "" radius-server host 0.0.0.0 priority 1 port 1812 encrypted-key INeLg+u/04f timeout 3 radius-server host 0.0.0.0 priority 1 port 1812 encrypted-key INeLg+u/04f timeout 3 radius-server host 0.0.0.0 priority 1 port 1812 encrypted-key INeLg+u/04f timeout 3 exit
Команда begin выводит все строки, начиная с той, в которой находится указанное выражение.
Например, команда для вывода всех логов в буфере, начиная с первого упоминания об ONT 16/1:
LTX-16# show log buffer | begin 16/1 31 May 18:04:37 NOTICE FSM-PON - ONT 16/1 activation: OK 31 May 18:04:37 WARN DATAPATH SRV - handle_request took 14 seconds (1011) 31 May 18:04:37 NOTICE DNA BCM-API - ONT 16/1 state setting 1: OK 31 May 18:04:37 NOTICE DNA BCM-API - XGPON ONT 16/1 activation: OK 31 May 18:04:37 DEBUG ONT 16/1 - ONT_AUTH: OK [fsm_pon_ont.c:ont_auth_activation_ok:1163] 31 May 18:04:37 DEBUG ONT 16/1 - ONT_MIB_UPLOAD:ingress [fsm_pon_ont.c:ont_mib_upload_ingress:3495] 31 May 18:04:42 INFO ONT 16/1 - MIB RESET: OK 31 May 18:04:43 INFO ONT 16/1 - MIB UPLOAD - Number of subsequent commands: 663 ...
Уточняющие опции
После указания уточняющего фильтра и искомого выражения можно использовать опцию case-sensitive, чтобы процесс фильтрации стал чувствителен к регистру. Например:
LTX-16# show log buffer | include DATAPATH 02 Jun 12:02:18 NOTICE DATAPATH SRV - Datapath service started 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_CONFIG:config olt datapath [fsm_pon_ont.c:ont_config_olt_datapath:1364] 02 Jun 12:03:00 NOTICE ONT 16/1 - OLT side datapath configured. 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_COMMON:ingress [fsm_pon_ont.c:ont_datapath_common__ingress:1431] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create GAL Ethernet profile [ont_datapath_common.c:ont_datapath_common__omci_create_gal:41] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create GEM Port Network CTP for BC [ont_datapath_common.c:ont_datapath_common__omci_create_gem_port_bc:76] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create GEM port performance monitoring history data for BC [ont_datapath_common.c:ont_datapath_common__omci_create_gem_pm_bc:264] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create GEM port network CTP performance monitoring history data for BC [ont_datapath_common.c:ont_datapath_common__omci_create_gem_nctp_pm_bc:333] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create GEM Interworking Termination point for BC [ont_datapath_common.c:ont_datapath_common__omci_create_iwtp_bc:125] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create GAL Ethernet performance monitoring history data for broadcast [ont_datapath_common.c:ont_datapath_common__omci_create_gal_eth_pm_bc:439] 02 Jun 12:03:00 DEBUG ONT 16/1 - omci_recv_message return unknown entity for OMCI_ENT_GAL_ETHERNET_PM_HISTORY_DATA [ont_datapath_utilities.c:check_omci_response_of_create_type:94] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create FEC performance monitoring history data [ont_datapath_common.c:ont_datapath_common__omci_create_fec_pm:404] 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_BRIDGES:ingress [fsm_pon_ont.c:ont_datapath_bridges__ingress:1641] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create MAC bridge service profile (phase = 0) [ont_datapath_bridges.c:ont_datapath_bridges__omci_create_mac_bridge_sp:36] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create MAC Bridge Port Configuration Data for BC (phase = 0) [ont_datapath_bridges.c:ont_datapath_bridges__omci_create_mac_bridge_pcd_bc:82] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create VLAN tagging filter data for BC (phase = 0) [ont_datapath_bridges.c:ont_datapath_bridges__omci_create_bridge_bc_filter:135] 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_ANI_SIDE:ingress [fsm_pon_ont.c:ont_datapath_ani_side__ingress:1890] ... LTX-16# show log buffer | include DATAPATH case-sensitive 02 Jun 12:02:18 NOTICE DATAPATH SRV - Datapath service started 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_COMMON:ingress [fsm_pon_ont.c:ont_datapath_common__ingress:1431] 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_BRIDGES:ingress [fsm_pon_ont.c:ont_datapath_bridges__ingress:1641] 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_ANI_SIDE:ingress [fsm_pon_ont.c:ont_datapath_ani_side__ingress:1890] 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_UNI_SIDE:ingress [fsm_pon_ont.c:ont_datapath_uni_side__ingress:2219] LTX-16#
Опция context используется, чтобы вывести от 0 до 25 строк до и после искомого выражения, количество строк указывается после опции через пробел. Например:
LTX-16# show running-config | include 1101 outer vid 1101 vlan 1101 name "VLAN1101" LTX-16# LTX-16# show running-config | include 1101 context 10 management ip 192.168.10.158 management mask 255.255.240.0 management gateway 192.168.2.1 management vid 3470 logging module dna interface ont 16/1 loglevel debug permanent file loglevel debug exit profile cross-connect ppp outer vid 1101 user vid 10 exit profile cross-connect q ont-mode bridge bridge group 10 outer vid 1102 multicast enable exit profile dba G pon-type gpon -- snooping enable vlan 1-4094 relay server-ip 192.168.10.60 vid 3470 exit ip pppoe snooping enable exit vlan 1061 name "VLAN1061" ip interface address 192.168.56.10 mask 255.255.255.0 exit vlan 1101 name "VLAN1101" ip interface management access allow ip interface address 192.168.101.30 mask 255.255.255.0 exit vlan 1102 name "VLAN1102" ip interface address 192.168.102.30 mask 255.255.255.0 exit vlan 1103 name "VLAN1103" exit LTX-16#
Также утоняющие фильтры и опции можно комбинировать, формируя гибкие условия фильтрации. Например :
LTX-16# show log buffer | include DATAPATH case-sensitive context 2 bcm686xx 0001:01:00.0: BAR 2: set to [mem 0xd0000000-0xd1ffffff 64bit] (PCI address [0xd0000000-0xd1ffffff]) _bcmtr_proxy_rx_task_handler: pcie_proxy_rx0-api - started 02 Jun 12:02:18 NOTICE DATAPATH SRV - Datapath service started 02 Jun 12:02:18 NOTICE DNA BCM-API - front-port 2 has changed link status from down to up 02 Jun 12:02:19 NOTICE DNA - front-port 2 changed state to active_working -- 02 Jun 12:03:00 DEBUG ONT 16/1 - Available bandwidth: Limit: 1244160000; Total: 1226752000; Next ONU: 1226752000; CBR: 776496000 [olt_data_path.c:olt_data_path__configure_unsafe:528] 02 Jun 12:03:00 NOTICE ONT 16/1 - OLT side datapath configured. 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_COMMON:ingress [fsm_pon_ont.c:ont_datapath_common__ingress:1431] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create GAL Ethernet profile [ont_datapath_common.c:ont_datapath_common__omci_create_gal:41] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create GEM Port Network CTP for BC [ont_datapath_common.c:ont_datapath_common__omci_create_gem_port_bc:76] -- 02 Jun 12:03:00 DEBUG ONT 16/1 - omci_recv_message return unknown entity for OMCI_ENT_GAL_ETHERNET_PM_HISTORY_DATA [ont_datapath_utilities.c:check_omci_response_of_create_type:94] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create FEC performance monitoring history data [ont_datapath_common.c:ont_datapath_common__omci_create_fec_pm:404] 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_BRIDGES:ingress [fsm_pon_ont.c:ont_datapath_bridges__ingress:1641] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create MAC bridge service profile (phase = 0) [ont_datapath_bridges.c:ont_datapath_bridges__omci_create_mac_bridge_sp:36] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create MAC Bridge Port Configuration Data for BC (phase = 0) [ont_datapath_bridges.c:ont_datapath_bridges__omci_create_mac_bridge_pcd_bc:82] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create VLAN tagging filter data for BC (phase = 0) [ont_datapath_bridges.c:ont_datapath_bridges__omci_create_bridge_bc_filter:135] 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_ANI_SIDE:ingress [fsm_pon_ont.c:ont_datapath_ani_side__ingress:1890] 02 Jun 12:03:00 DEBUG ONT 16/1 - Set T-CONT (service = 0) [ont_datapath_ani_side.c:ont_datapath_ani_side__omci_set_t_cont:112] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create GEM port Network CTP (service = 0) [ont_datapath_ani_side.c:ont_datapath_ani_side__omci_create_gem_ctp:218] -- 02 Jun 12:03:00 DEBUG ONT 16/1 - Create MAC bridge PCD (service = 0) [ont_datapath_ani_side.c:ont_datapath_ani_side__omci_create_mac_bridge_pcd:299] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create VLAN tagging filter data (service = 0) [ont_datapath_ani_side.c:ont_datapath_ani_side__omci_create_vlan_tagging_filter:373] 02 Jun 12:03:00 DEBUG ONT 16/1 - ONT_DATAPATH_UNI_SIDE:ingress [fsm_pon_ont.c:ont_datapath_uni_side__ingress:2219] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create Ethernet performance monitoring history data (port - 1) [ont_datapath_uni_side.c:ont_datapath_uni_side__omci_create_eth_pm:377] 02 Jun 12:03:00 DEBUG ONT 16/1 - Create Ethernet performance monitoring history data 2 (port - 1) [ont_datapath_uni_side.c:ont_datapath_uni_side__omci_create_eth_pm_2:411]
Связанные статьи