Dziennik OpenVPN wygląda następująco:
OpenVPN
CLIENT LIST
Updated,Sat Jun 20 04:20:07 2015
Common Name,Real Address,Bytes Received,Bytes Sent,Connected Since
[ A .... ]
ROUTING TABLE
Virtual Address,Common Name,Real Address,Last Ref
[ B.... ]
GLOBAL STATS
Max bcast/mcast queue length,33
END
Gdzie A i B powyżej są listami hostów sformatowanych w określony sposób.
Mam skrypt bash, którego użyję do działania na elementach o nazwie „TABELA TRASY” ( B ). Jak mogę skutecznie oddzielić tę listę hostów od reszty dokumentu w skrypcie?
linux
bash
script
bash-scripting
string-manipulation
Lennart Rolland
źródło
źródło
Następujące polecenie sed
robi to, co chcesz: -n pomija domyślne zachowanie, które polega na wypisywaniu każdej linii, wyrażenie między pojedynczymi cudzysłowami wybiera zakres linii, a następnie je drukuje (to znaczy {p} ). Zakresy, które należy wybrać, są identyfikowane za pomocą dopasowań (początkowego i końcowego) rozdzielonych separatorami, w moim przypadku /jako separatora używam ukośnika ; dopasowanie wzorca początkowego i końcowego musi być oddzielone przecinkiem, a \ [ służy do podkreślenia dosłownego znaczenia nawiasu kwadratowego, tzn. nie jest to struktura gramatyczna, lecz prawdziwy kwadrat otwierający, który należy znaleźć.
źródło