¿Que es Sed?
sed (Stream Editor) es un editor de flujos, te permite editar, reemplazar lineas en un archivo de texto usando expresiones regulares.
El sistema operativo Unix tiene un superconjunto de comandos que permiten realizar todo tipo de tareas de procesamiento de archivos de texto.
El superconjunto incluye: sed, awk, cat, echo, grep, ed, vi entre otros.
Recientemente me topé con un archivo exportado que incluye un conjunto de usuarios separados por "espacios", necesito ordenarlo en forma de lista y agregarle algunos parametros antes y despues para exportarlo a un router Mikrotik.
El archivo en cuestion se ve así.
Necesito sustituir los espacios en blanco por un caracter de nueva linea para crear una lista de usuarios, usamos el comando sed de la siguiente forma.
$ sed 's/\s/\n/g' test.txt > sed1.txt
Después de ejcutar el comando, el archivo luce así.
Además de eso, necesito agregar una cadena de texto al inicio: add name=
$ sed -i 's/^/add name\=/g' sed1.txt
Tambien necesito agregar al final la siguiente cadena:
$ sed -i 's/$/ limit-uptime\=02:00:00 disabled\=no profile\=\"1mega\"/g' sed1.txt
Unix es un sistema operativo muy completo, como tal ya no existe, pero sus derivados si, por citar algunos: Linux, OpenBSD, FreeBSD, NetBSD, OSX.