•
Aplicar substituciones con sed directamente al fichero
sed es una gran herramienta para aplicar filtrar y aplicar cambios en un texto. Vamos a ver como usar sed para aplicar cambios en un fichero sin usar ficheros temporales.
Supongamos el siguiente ejemplo de texto:
# for i in www.{a..z}.com; do echo $i >> /tmp/ejemplo; done
# cat /tmp/ejemplo
www.a.com
www.b.com
www.c.com
www.d.com
www.e.com
www.f.com
www.g.com
www.h.com
www.i.com
www.j.com
www.k.com
www.l.com
www.m.com
www.n.com
www.o.com
www.p.com
www.q.com
www.r.com
www.s.com
www.t.com
www.u.com
www.v.com
www.w.com
www.x.com
www.y.com
www.z.com
Si deseamos modificar el “www” inicial por “ftp” lo podemos hacer con sed mediante la siguiente expresión: s/www/ftp/
La s indica que haga una substitución de la primera parte entre barras por la segunda. En este caso, substituimos “www” por “ftp“.
Para aplicar los cambios directamente al fichero sin crear archivos temporales lo debemos hacer mediante el parámetro -i:
# sed -i 's/www/ftp/' /tmp/ejemplo # cat /tmp/ejemplo ftp.a.com ftp.b.com ftp.c.com ftp.d.com ftp.e.com ftp.f.com ftp.g.com ftp.h.com ftp.i.com ftp.j.com ftp.k.com ftp.l.com ftp.m.com ftp.n.com ftp.o.com ftp.p.com ftp.q.com ftp.r.com ftp.s.com ftp.t.com ftp.u.com ftp.v.com ftp.w.com ftp.x.com ftp.y.com ftp.z.com
Relacionados
Imprimir
Deja un comentario: