Puede que en algún momento necesitemos pasar una variable obtenida en un script al comando SED, para realizar algún cambio en archivos. Para el siguiente ejemplo, utilizaremos un archivo llamado «prueba.txt», el cual contiene los siguientes datos:
1 2 3 4 5 6 7 8 |
uno dos tres uno dos cuatro cinco dos |
Necesitamos cambiar el valor «dos» por «seis». La única forma que me ha resultado para realizarlo es utilizando las comillas dobles y simples como se indica en el siguiente SCRIPT :
1 2 3 |
#!/bin/bash a="seis" sed -e 's/dos/'"$a"'/g' prueba.txt >> nueva.txt |
Al lanzar este SCRIPT nos generar un nuevo archivo (nueva.txt) con los siguientes datos :
1 2 3 4 5 6 7 8 |
uno seis tres uno seis cuatro cinco seis |
Para realizar el cambio directamente en el archivo, se puede realizar mediante el lenguaje PERL, con la siguiente instrucción :
1 |
perl -p -i -e 's/dos/seis/g' prueba.txt |