Puncte:0

Vreau să exclud anumite cuvinte din rezultate atunci când introduc tail în grep

drapel fi

Folosesc "tail -f /var/log/fail2ban.log -f /var/log/ufw.log | grep -e Ban -e BLOCK -e ALLOW" (fără ghilimele) și funcționează, dar vreau să excludeți rezultatele care au cuvintele UDP și ICMP în ele. Când încerc "tail -f /var/log/fail2ban.log -f /var/log/ufw.log | grep -e Ban -e BLOCK -e ALLOW -v UDP -v ICMP" primesc o eroare "grep: UDP: Nu există un astfel de fișier sau director" Se pare că folosirea -v pentru a exclude cuvinte nu funcționează atunci când se folosește canalul.

introduceți descrierea imaginii aici

Puncte:0
drapel vn

Puteți pur și simplu să direcționați prima ieșire către un alt grep și să o utilizați ca un alt „filtru”, cum ar fi:

coada -f /var/log/fail2ban.log -f /var/log/ufw.log | grep „Ban\|BLOCK\|PERMITERE” | grep -v „UDP\|ICMP”

Rețineți că grep poate stivui șiruri de caractere diferite chiar și regex atunci când utilizați ghilimele duble separând-o printr-o țeavă „|” dar ar trebui să scapi de personaj cu „\” pentru a nu obține lucruri ciudate.

Parametrul -v spune literalmente în man

-v, --invers-potrivire Inversați sensul de potrivire pentru a selecta linii care nu se potrivesc.

Deci, pare să inverseze potrivirea pe care o determinați, deci nu o puteți parametriza.

Așa cum vedeți în sinopsis, puteți da 3 tipuri de parametri. Opțiuni, un model și un fișier.

Opțiunile sunt un întreg care începe întotdeauna cu - sau - și puteți pune o grămadă de ele.

Puteți determina un singur model sau un anumit tip de model cu -e sau -f sau fără nimic.

Și întotdeauna ultimul ar trebui să fie fișierul/e sau directorul (Directories are nevoie de parametrul -R pentru a le recurge sau puteți pune doar director/*). dacă nu este specificat, va încerca să citească stdin-ul așa cum o faci.

   REZUMAT
   grep [OPȚIUNE...] MODELE [FIȘIER...]
   grep [OPȚIUNE...] -e MODELE ... [FIȘIER...]
   grep [OPȚIUNE...] -f PATTERN_FILE ... [FIȘIER...]

Oricum asta este deja răspuns într-un mod mai elementar

Greg Azar avatar
drapel fi
Soluția ta are sens, este logică și rezonabilă, dar când am încercat-o, nu am obținut niciun rezultat și nicio eroare. Doar un prompt.
Angel Porlan avatar
drapel vn
Apoi ar trebui să verificați dacă într-adevăr nu obțineți potrivirile dorite și să ajustați filtrul.
Puncte:0
drapel fi

Am o soluție pentru aceasta, folosind 2 sesiuni ssh, transmit rezultatele primei instrucțiuni grep într-un fișier și apoi, în a 2-a sesiune ssh, transmit rezultatele în grep. (prima sesiune ssh) - tail -f /var/log/fail2ban.log -f /var/log/ufw.log | grep -v ICMP >/home/user/staging (a doua sesiune ssh) - tail -f /home/user/staging | grep -e ALLOW -e BLOCK un pic neconvențional, dar funcționează.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.