La verdad es que sed es muy potente, pero aquí sólo voy a comentar dos o tres ejemplos básicos, que en muchas ocasiones me han preguntado...
En general sed acepta que la operación se haga sobre el mismo fichero usando la opción "-i" (inplace). Lo más normal (y lo más seguro) es no usar esta opción y simplemente trabajar usando la entrada/salida estándard y pipes o redirecciones. Pero como estos comandos son para gente que no usa demasiado la linea de comandos, tratan de ser lo más sencillos posible y usarán esta opción.
Sustituir en todo el fichero ejemplo.txt, la palabla 'inicial' por la palabra 'final':
sed s/inicial/final/g -i ejemplo.txt
Sustituir sólo la primera ocurrencia de la palabla 'inicial' por la palabra 'final' en fichero.txt:
sed s/inicial/final/ -i ejemplo.txt
Borrar las lineas que contengan la palabra 'ejemplo' del fichero ejemplo.txt:
sed /ejemplo/d -i ejemplo.txt
Borrar las lineas que empiecen por la palabra 'ejemplo' del fichero ejemplo.txt:
sed /^ejemplo/d -i ejemplo.txt
Borrar las lineas que terminen por la palabra 'ejemplo' del fichero ejemplo.txt:
sed /ejemplo$/d -i ejemplo.txt
Borrar las dos primeras lineas del fichero.txt
sed '1,2 d' -i fichero.txt
Borrar la última linea de fichero.txt
sed '$ d' -i fichero.txt
Borrar las líneas vacias de fichero.txt
sed '/^$/ d' -i fichero.txt
Mostrar las tres primeras lineas de fichero.txt
sed -n '1,3 p' fichero.txt
Mostrar las lineas 4,5,6 de fichero.txt
sed -n '4,6 p' fichero.txt
Más info:
man sed
info sed
No comments:
Post a Comment