lunes, 31 de diciembre de 2018

Reemplazar texto dentro de ficheros

En algunas ocasiones se hace necesario cambiar algún texto dentro de un fichero. En una primera aproximación, se puede usar un fichero temporal para ello:
$ cat fichero | sed "s/Buenos días/Buenas tardes/g" > tmp
$ mv tmp fichero
No obstante, hay una forma más directa y recomendable de realizar este tipo de cambios:

jueves, 27 de diciembre de 2018

Trabajo con ficheros temporales en bash

En esta entrada vamos a ver una buena forma de gestionar los archivos temporales que se crean en los scripts bash.
Inicialmente, un script que requiera la creación de ficheros temporales podría tener la siguiente forma:
#!/usr/bin/env bash

TMPFILE=/tmp/temporal
df -h > $TMPFILE
free -m >> $TMPFILE
LINEAS=$(wc -l $TMPFILE | cut -d " " -f 1)
echo "$LINEAS lineas"
rm -f $TMPFILE

lunes, 24 de diciembre de 2018

Tip: explainshell


Hoy aprovecho para comentar una web que descubrí hace poco y que es una pasada. Se trata de explainshell.com.
Esta web explica con detalle cualquier comando que se pueda escribir en el shell de Linux y aclara el significado de cada argumento usado.
Veamos un ejemplo:
iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT

El análisis de este comando mediante explainshell es el que se muestra en la siguiente imagen:


Un recurso muy interesante a tener en cuenta en el día a día.