Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: grep kombinace parametru v, A, B  (Přečteno 1659 krát)

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
grep kombinace parametru v, A, B
« kdy: 28 Února 2012, 12:35:57 »
Hoj potreboval bych pomoci grepu odfiltrovat nasledujici blok


Kód: [Vybrat]
ID         118931
URL        `favicon.ico' (cached)
Parent URL http://svetmightandmagic.cz/mmviii/mmviii_obchodovani.php, line 9, col 4
Real URL   http://svetmightandmagic.cz/mmviii/favicon.ico
Result     Error: 404 Not Found

zkousel jsem:

Kód: [Vybrat]
cat svetmightandmagic.cz | grep -v \`favicon -B 1 -A 3
coz nejak nefunguje. Je mozne kombinovat parametr -v a zaroven -A a -B v grepu?

Nebo by se mel na to spise pouzit sed?
« Poslední změna: 28 Února 2012, 13:17:47 od Uran »
"Pouze text v MS Wordu je opravdu čistý, příteli."

8472

  • Aktivní člen
  • *
  • Příspěvků: 460
  • Zivot je ako rebrik do kurina, kratky a osraty ...
Re:grep kombinace parametru v, A, B
« Odpověď #1 kdy: 28 Února 2012, 21:03:29 »
takto?
Kód: [Vybrat]
cat svetmightandmagic.cz | grep -v -e ID -e URL -e "Parent URL" -e "Real URL" -e Result
Logic clearly dictates that the needs of the many outweigh the needs of the few.

daysleeper

  • Stálý člen
  • **
  • Příspěvků: 1206
Re:grep kombinace parametru v, A, B
« Odpověď #2 kdy: 28 Února 2012, 21:31:28 »
Kód: [Vybrat]
sed '/^ID         118931/,+5d'
vymaže řádek začínající na "ID         118931" + 5 následujících.

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re:grep kombinace parametru v, A, B
« Odpověď #3 kdy: 29 Února 2012, 18:09:06 »
Takže jsem nakonec sesmolil následující awk řešení:

Kód: [Vybrat]
awk '/`favicon/{i=NR};p&&(!i||NR>i+4){print p};p=$0{};END{print}'

Uran

  • Aktivní člen
  • *
  • Příspěvků: 341
Re:grep kombinace parametru v, A, B
« Odpověď #4 kdy: 01 Března 2012, 06:17:28 »
Takže jsem nakonec sesmolil následující awk řešení:

Kód: [Vybrat]
awk '/`favicon/{i=NR};p&&(!i||NR>i+4){print p};p=$0{};END{print}'

Dekuji to je presne ono. Jsem si rikal, ze samotny grep je na to asi kratky.
"Pouze text v MS Wordu je opravdu čistý, příteli."

 

Provoz zaštiťuje spolek OpenAlt.