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:
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 :
#!/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 :
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 :
perl -p -i -e 's/dos/seis/g' prueba.txt