Estoy tratando de encontrar y reemplazar una cadena en una carpeta de archivos.buscar y reemplazar cadena en un archivo
¿Alguien podría ayudarme?
Mi script es el siguiente:
#!/bin/bash
OLD="This is a"
NEW="I am a"
DPATH="/home/user/test/*.txt"
BPATH="/home/user/test/backup/foo"
[ ! -d $BPATH ] && mkdir -p $BPATH || :
for f in $DPATH
do
if [ -f $f -a -r $f ]; then
/bin/cp -f $f $BPATH
sed "s/$OLD/$NEW/g" "$f"
else
echo "Error: Cannot read $f"
fi
done
Ahora bien, esto parece encontrar la cadena 'Esta es una' y reemplaza con 'Soy un', pero esto sólo se imprime a la pantalla.
Lo necesito para reemplazarlo en los archivos.
Gracias
Funcionó muy bien! Sabía que me había perdido algo. Gracias – terrid25
Ok, ¿hay alguna manera fácil de modificar mi script de shell, para que se compruebe en las subcarpetas?/home/usuario/prueba/xyz? – terrid25
#! Bin/bash OLD = "Esto es un" NUEVO = "Soy un" BPATH = "/ home/user/backup/foo" buscar. -name '* .shtml' -type f | mientras se lee el nombre de archivo hacer /bin/cp -f $ archivo $ Bpath sed -i "s/$ VIEJO/NUEVO $/g" $ archivo hecho – terrid25