Un problema común para quienes les toca trabajar con archivos de texto, es que en alguna oportunidad, toca agregar o quitar texto de cada línea de un archivo, para qué? para realizar cargas masivas de datos por ejemplo... así, si queremos agregar por ejemplo una comilla al inicio de cada línea del archivo, se puede usar en vi estando en modo escape se escribe :%s/^/"/g con esto, se agrega una comilla al comienzo de cada línea, para quitarla, es algo como: :%s/^"//g nótese que ahora el símbolo va acompañado con la comilla y al lado esta vacío.
Para el agregar o quitar al final de la línea?? se usa: :%s/$/"/g el símbolo $, representa el fin de línea, así se agrega la comilla al final de la línea. Para quitarla igual que antes :%s/"$//g
Ahora para hacerlo desde afuera, se puede recurrir a sed y se utiliza casi la misma combinación de comandos. En la consola para agregar escribiremos:
sed -e "s/^/"/g" nombrearchivo
El detalle acá es que el cambio lo mostrará en pantalla por defecto, entonces hay que redirigir la salida con un > nombre_archivo_destino, ie,
sed -e "s/^/"/g" nombrearchivo > nombre_archivo_destino
Debe notarse sí que la línea de arriba tiene un error, pues la comilla que aparece entre slash provoca un error, entonces es necesario "escapar" (significa agregar un back slash antes del caracter) la comilla, quedando así la línea:
sed -e "s/^/\"/g" nombrearchivo > nombre_archivo_destino
También, esto sirve si queremos incluir sed para tratar la salida de otro comando, por ejemplo, agregar algo a la salida del cat:
[root@localhost ~]# cat archivo
uno
dos
tres
[root@localhost ~]# cat archivo | sed "s/^/salto /g"
salto uno
salto dos
salto tres
Este blog tiene la idea de acercar un poco el tema de las herramientas computacionales, usando preferencialemente Linux, y traducir a "cristiano" todos esos programas, software y otras palabras raras que usan los que saben de computación y aquellos que dicen saber también. Por eso aquí va un filtro con cosas útiles e intentado ser claro, cualquier cosa... por mail, msn, comentarios, etc como quieran, manden preguntas, felicitaciones, reclamos, inquietudes, etc. etc.
Buscar aquí
Suscribirse a:
Comentarios de la entrada (Atom)
Justo lo que estaba buscando.
ResponderBorrarExcelente aporte
Muchas, muchas gracias.
ResponderBorrarLo estaba buscando y me diste la información que buscaba.
Me va a resultar muy útil.
Tengo un problema y no sé como solucionarlo
ResponderBorrarles cuento..
tengo 1500 archivos "txt", y y debo abrir el primer archivo y al principio escribir el mismo nombre del archivo
por ejemplo mi archivo "400_1.txt"
tiene lo siguiente:
Gracias por venir a nuestra sucursal...
lo que quiero es que el archivo "400_1.txt", se modifique y quede así:
400_1 Gracias por venir a nuestra sucursal
saludos !!!