Nov10th

kimenetre greppelés

by  connor

Van egy hosszú és összetett ciklusom és a kimenetre szeretnék greppelni. Nézzük hogyan!

Pl:

for i in $(cat /var/log/apache2/access.log | grep valami | awk '{ print $1 }' | sort | uniq); do resolveip $i; done

Ez a példa eddig feloldja a látogatók ip címét. Viszont én erre a kimenetre szeretnék greppelni. Az egész parancsot két zárójelbe téve lehet a kimenetet továbbküldeni egy programnak (kiírni fájlba stb), jelen esetben a grepnek:

( for i in $(cat /var/log/apache2/access.log | grep valami | awk '{ print $1 }' | sort | uniq); do resolveip $i; done ) | grep "other stuffs"

 

3 Responses to kimenetre greppelés

  1. 9 years ago by buga

    A zarojelpar subshellben futtatja a ciklust, de pontosan miert van szukseg erre? A \for i in […]; done | grep akarmi\ nem ugyanezt eredmenyezi?


  2. 9 years ago by connor

    Igazad van, a példát meg lehet oldani zárójel nélkül is. Ha a for ciklus után benne van még pár parancs akkor már nem. pl:

    ( for; parancs2; parancs3 ) | parancs4


  3. 9 years ago by Pistahh

    meg cat nelkul is meg lehet oldani 😉


 

Leave a Reply

Your email address will not be published. Required fields are marked *