Visualizzazione post con etichetta awk. Mostra tutti i post
Visualizzazione post con etichetta awk. Mostra tutti i post

lunedì 25 novembre 2013

Filtro per contare le ricorrenze di un campo in un file di testo

$1 si riferisce alla prima colonna del file di testo. Utilizzare $2, $3, $4,.... per le colonne seguenti.
awk '{print $1}' |sort |uniq -c |sort -r -n

mercoledì 16 ottobre 2013

Linux: quanti IP stanno visualizzando il mio sito?

Per visualizzare gli IP address di chi sta guardando i siti del nostro server possiamo lanciare il seguente comando:
netstat -napt | grep :80\  | awk '{print $5}' | cut -d: -f1 | sort -u
Invece per contare i diversi IP address possiamo usare:
netstat -napt | grep :80\  | awk '{print $5}' | cut -d: -f1 | sort -u | wc -l

giovedì 26 novembre 2009

Trovare i file che contengono due parole.

Metodi scaturiti da un thread su Erlug.

BASH
grep -l stringa1 * | xargs grep -l stringa2

o meglio
grep -lZ stringa1 * | xargs -0 grep -l stringa2 )

oppure
comm -1 -2 <(grep -wl stringa1 * | sort) < (grep -wl stringa2 * | sort)

Note:
Il parametro -l del comando grep nasconde il normale output e visualizza solo il nome dei che contengono il pattern ricercato.

Il parametro -Z del comando grep inserisce un carattere NULL come carattere conclusivo di ogni nome file da visualizzare: viene usato in caso l'output di grep debba essere passato a qualche altro comando (nell'esempio xargs)

Il comando comm confronta due file ordinati linea per linea.

Il parametro -1 del comando comm esclude dall'output le linee uniche del primo file

Il parametro -2 del comando comm esclude dall'output le linee uniche del secondo file

PERL
perl -n0e 'if(/stringa1/&&/stringa2/){print "$ARGV\n"}' *

AWK

awk 'FNR==1{stringa1=0;stringa2=0}
/stringa1/{stringa1=1}
/stringa2/{stringa2=1}
stringa1 && stringa2 {print FILENAME; nextfile}' *