$ seq 1 5 1 2 3 4 5
O necesita esos números de dos en dos:
$ seq 1 2 5 1 3 5
La cosa se pone interesante cuando requiere formatos, por ejemplo obtener siempre números de dos cifras, entonces puede utilizar:
$ seq -f "%02g" 1 5 01 02 03 04 05
A este punto usted se preguntará, ¿y para qué puede serme útil esto? Pues yo no lo sé, no mentira, esto podría resultar útil para -por ejemplo- filtrar entradas de un log de apache donde cada línea lleva algo como:
192.168.0.1 - - [01/Nov/2010:00:00:33 +0100] "GET ..."
Si quisiera extraer cada entrada para un día específico podría utilizar un script del tipo:
#!/bin/bash for day in `seq -f "%02g" 1 31`; do count=`egrep -i "\[$day/Nov/[0-9:+ ]+\] \"GET $line" logs/*access.$month.log | grep " 200 " | wc -l` echo "$day,$line: $count" done
¿Y para qué sirvió el seq? para hacer un "for" con valores de dos dígitos y que así tuviera sentido el grep que hacemos dentro del búcle (ver: $day).
No hay comentarios:
Publicar un comentario