[MontelLUG] Espressioni regolari, awk, xargs

cesco francesco.versaci a gmail.com
Ven 7 Apr 2017 23:35:04 CEST


Septimo Idus Apriles MMXVII Samuele via montellug haec scripsit:
> Devo fare una lista di ip di rompimaroni da bannare:
>  tcpdump -i eth0 -n port 1234 | grep "ciappalippa" | awk '/a/ {print $3}' |
> awk -F "." '/1/ {print $1"."$2"."$3"."$4}' | xargs -0 echo $1
> 
> I due awk in cascata sono a causa della mia non conoscenza dello strumento.
> Al posto di echo ci andrà un ipset add.
> 
> Non visualizza nulla (sia che tolga il -0 che il, $1).
> Se tolgo l'xargs ho quello che mi aspetto.
> Se eseguo:
>  ls | xargs -0 echo $1
> funziona.
> 
> Idee?

"xargs -0"  accetta una lista  di stringhe  terminate da NULL,  che puoi
ottenere  per esempio  con "find  -print0" o  con "grep  -Z", ma  non mi
sembra il tuo caso.

Quello che ti serve sembra piú qualcosa del tipo
  ls | xargs -I XX echo 123 XX 456

Prova a dare una letta alla man page, non è di quelle interminabili :)
-- 
     ______________      
    /\             \     
    \_| ciao ciao, |      Cosí andammo infino a la lumera,
      |   cesco    |      parlando cose che 'l tacere è bello,
      |   _________|_     sí com'era 'l parlar colà dov'era.
       \_/___________/                       -- Dante, Inf., IV, 103-105


Maggiori informazioni sulla lista montellug