Dacă înțeleg corect ce vrei, este să filtrezi clienții cu alte conexiuni decât „Violet” (doar „Verde” în exemplul tău, dar eventual alte culori).
Următoarele comenzi folosesc grep pentru a elimina liniile cu „Violet”, tr a face o singură linie și sed pentru a pune rupturi de linie înainte de „client” și în final grep pentru a elimina liniile rămase cu „conexiune” și pentru a selecta doar informația dorită pentru fiecare client.
Întregul set de informații:
< fișierul meu grep -v „Violet” | tr '\n' ' '| tr -s ' ' ' ' | sed "s/ client/\nclient/g" \
| grep -v „conexiune”
Numele de gazdă și orice este listat în spate:
< fișierul meu grep -v „Violet” | tr '\n' ' '| tr -s ' ' ' ' | sed "s/ client/\nclient/g" \
| grep -v 'conexiune' | grep -o 'nume gazdă:.*'
Doar nume de gazdă, pe care l-ați dorit conform a ceea ce am putut citi:
< fișierul meu grep -v „Violet” | tr '\n' ' '| tr -s ' ' ' ' | sed "s/ client/\nclient/g" \
| grep -v 'conexiune' | grep -o 'nume gazdă: [^ ]*'
Celălalt grup (care ar trebui filtrat) cu nume de gazdă și altă conexiune decât „Violet”:
< fișierul meu grep -v „Violet” | tr '\n' ' '| tr -s ' ' ' ' | sed "s/ client/\nclient/g" \
| grep 'conexiune' | grep -o 'nume gazdă:.*'