Para sustituir una cadena de texto en un archivo de texto podemos utilizar comandos de linux como los siguientes:
find /directorio -name «*.txt» | xargs perl -pi -e ‘s/cadena abuscar/cadenaporlaquesustituimos/g’
o bien combinarlos con otros comandos
cat archivo.txt | perl -pi -e ‘s/cadena abuscar/cadenaporlaquesustituimos/g’
Podemos usar el AWK para lo mismo:
find /directorio -name «*.txt» | awk ‘{ gsub(/cadena abuscar/, «cadenaporlaquesustituimos»); print }’
o
cat archivo.txt | awk ‘{ gsub(/cadena abuscar/, «cadenaporlaquesustituimos»); print }’
ej: cat archivo.txt | awk ‘{ gsub(/Linux/, «Opensuse»); print }’
Si usamos un editor como vi, podemos usar el siguiente comando:
:%s/cadena abuscar/cadenaporlaquesustituimos/g
Un ejemplo práctico en vi para sustituir los caracteres ^M:
:%s/^V^M//g
Al pulsar control V y control M el resultado sera:
%s/^M//g
Que eliminara los caracteres ^M
Si queremos hacerlo usando perl utilizaremos los siguiente:
cat archivo.txt | perl -pi -e ‘s/\r$//’