Al momento de trabajar con texto, puede ser necesario recortar la salida de este texto, por ejemplo,
echo 12.3456789
es necesario que muestre solo 3 decimales:
echo 12.3456789 | sed -r 's/([0-9]+\.[0-9][0-9][0-9])[0-9]+/\1/g'
12.345
La magia está en el uso de paréntesis en la sección de formato y en la sección de reemplazo el \1, esto significa:
- los parentesis redondos, marcan una sección que se recordara.
- el \1 indica que se usará el primero bloque marcado en el formato.
Explicando la expresión regular va a recordar cuando venga 1 o más números entre 0 y 9, seguido por el caracter de punto, seguido de 3 números, cada uno entre 0 y 9. Este es el bloque a recordar. Además, la expresión contempla que debe venir seguido de un numero de 1 o más cifras entre 0 y 9, pero esto no se recuerda pues no está entre paréntesis.
El -r en el sed es para que indicarle que use expresiones regulares extendidas, pues el uso de estos parámetros no son parte del conjunto estandard de opciones.
Este blog tiene la idea de acercar un poco el tema de las herramientas computacionales, usando preferencialemente Linux, y traducir a "cristiano" todos esos programas, software y otras palabras raras que usan los que saben de computación y aquellos que dicen saber también. Por eso aquí va un filtro con cosas útiles e intentado ser claro, cualquier cosa... por mail, msn, comentarios, etc como quieran, manden preguntas, felicitaciones, reclamos, inquietudes, etc. etc.
Buscar aquí
01 diciembre 2016
Cómo dejar una captura de red ejecutándose en background y generando múltiples archivos?
Muchas veces es necesario realizar capturas e idealmente que se ejecute por un periodo de tiempo largo y no depender de la VPN, hora, etc... y ahí es donde se puede aprovechar comandos de linux y las opciones de tcpdump que permite justamente generar múltiples archivos circulares.
Primero, cómo dejar corriendo en background un proceso, en este caso una captura con tcpdump. Se puede ejecutar utilizando nohup y el simbolo de & para ejecutarlo en background y dejar el comando atado a la consola.
Segundo, parámetros de tcpdump para generar múltiples archivos y uso circular. tcpdump incluye las opciones de -C y -W (notar que son mayúsculas!!!), cada uno:
nohup tcpdump -vvvv -C 10 -W 10 -w /tmp/cap0112.cap &
¿Cómo terminar la captura?
Simple, buscamos el pid del la captura ejecutándose, por ejemplo:
ps aux | grep tcpdump
y después kill -9
Primero, cómo dejar corriendo en background un proceso, en este caso una captura con tcpdump. Se puede ejecutar utilizando nohup y el simbolo de & para ejecutarlo en background y dejar el comando atado a la consola.
Segundo, parámetros de tcpdump para generar múltiples archivos y uso circular. tcpdump incluye las opciones de -C y -W (notar que son mayúsculas!!!), cada uno:
- -C hace referencia al tamaño del archivo con la base de 1MB, así se debe poner un número y esto significa el tamaño de MB qeu tendrá el archvo, por ejemplo, si se usa -C 10 significa la generación de archivos de 10MB.
- -W hace referencia a la cantidad de archivos, se debe agregar un número para justamente indicar cuántos archivos se van a generar, por ejemplo, -W 10, indicamos que se generen hasta 10 archivos, cuando se creen los 10 y el último exceda el tamaño indicado en el parámetro -C se comenzará a escribir el primer archivo.
nohup tcpdump -vvvv -C 10 -W 10 -w /tmp/cap0112.cap &
¿Cómo terminar la captura?
Simple, buscamos el pid del la captura ejecutándose, por ejemplo:
ps aux | grep tcpdump
y después kill -9
Suscribirse a:
Entradas (Atom)