scripts script resueltos pasar parametros operaciones manejo ejercicios ejemplos cadenas aritmeticas unix sed

unix - resueltos - ¿Cómo hacer que sed lea su script desde un archivo?



scripts bash ejemplos (2)

Recientemente me encontré con el siguiente comando grep:

/usr/xpg4/bin/grep -Ff grep.txt input.txt > output.txt

que según mi entendimiento significa que desde input.txt, grep la materia contenida en grep.txt y la salida a output.txt.

Quiero hacer algo similar para sed, es decir, quiero mantener los comandos sed en un archivo separado (por ejemplo, sed.txt) y quiero aplicarlos en el archivo de entrada (decir input.txt) y crear un archivo de salida (decir output.txt ).

Traté de seguir:

/usr/xpg4/bin/sed -f sed.txt input.txt > output.txt

No funciona y me sale el siguiente error:

sed: command garbled

Los contenidos de los archivos mencionados anteriormente son los siguientes:

sed.txt

sed s/234/acn/ input.txt sed s/78gt/hit/ input.txt

input.txt

234GH 5234BTW 89er 678tfg 234 234YT tfg456 wert 78gt gh23444


En lugar de mantener los comandos sed en un archivo de texto separado, puede intentar crear un script sed. El siguiente archivo puede ejecutarse directamente en sus archivos de datos:

./myscript.sed inputfile.txt> outputfile.txt

#!/bin/sed -f s/234/acn/ s/78gt/hit/


Su sed.txt solo debe contener comandos sed : Sin prefijo con sed o sufijo con un archivo de entrada. En tu caso probablemente debería ser:

# sed.txt s/234/acn/ s/78gt/hit/

Cuando se ejecutó en su entrada:

$ /usr/xpg4/bin/sed -f sed.txt input.txt

acnGH 5acnBTW 89er 678tfg acn acnYT tfg456 wert hit ghacn44