The UNIX and Linux Forums  

Go Back   El UNIX y Linux Foros > Arriba Foros > Programación de scripts de shell y
.
google unix.com



Programación de scripts de shell y Plantear preguntas sobre KSH, CSH, SH, BASH, PERL, PHP, SED, AWK y otros scripts de shell y lenguajes de script de shell aquí.

Más UNIX y Linux Foro Temas usted puede encontrar útiles
Hilo Hilo para principiantes Foro Respuestas Último mensaje
Eliminar archivo de texto en línea Berserk UNIX for Dummies Preguntas y Respuestas 6 12-16-2008 03:44 PM
Cómo borrar un texto sin necesidad de abrir el archivo. stevefox Programación de scripts de shell y 12 02-21-2008 01:24 PM
Eliminar primera línea de cualquier archivo de texto? aungomarin Programación de scripts de shell y 5 05-16-2006 10:42 PM
cómo eliminar fuera de texto en un archivo? forevercalz Programación de scripts de shell y 5 01-08-2006 10:28 PM
borrar la última línea del archivo de texto hcclnoodles Programación de scripts de shell y 4 06-25-2002 10:52 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
Linkback vínculo Herramientas de hilo Buscar en este Hilo Tasa de Hilo Modos de visualización
  #1 (Enlace permanente)  
Old 08-14-2007
33junaid 33junaid is offline
Usuario Registrado
  
 

Fecha: agosto 2007
Puestos: 27
Sobrescribir y Eliminar en un archivo de texto

Queridos todos,

Tengo archivo de texto como el siguiente:

Encabezado
Registro 1
Registro 2
.......
Registro n
Cola

Esta línea de código:
awk '(if (NR \u003d\u003d 1) (cabeza \u003d substr ($ 0,1,300);) else (ultimo \u003d substr ($ 0,1,300);) END (printf "de cabecera es: 300%-Trailer es: 300% \ n ", la cabeza, el pasado) 'filename

Encabezado y Tráiler convertido en una línea y dentro de 300 caracteres each.The la producción es sólo una línea.

Ahora quiero sobrescribir esta una línea más arriba (cabecera + cola) en la primera línea del archivo original (original encabezado) y borrar la cola ........ i puede copiar esta cabecera y la cola de nuevo archivo y, a continuación, añadir Registro Registro de 1 a n a este nuevo archivo, sino que también causará baja el rendimiento ........ por lo que creo mejor para actualizar la primera y la última línea de este archivo ........... ...... Entonces, ¿cómo puedo hacer eso?

es decir, 1-actualizar con la nueva cabecera de línea, es decir (cabecera + remolque)
2-borrar el archivo original en la cola (se puede cortar la cola utilizando el nombre de archivo -1?)
  #2 (Enlace permanente)  
Old 08-14-2007
Lorcan lorcan is offline
Usuario Registrado
  
 

Fecha: Mayo 2007
Puestos: 219
No golpee su problema mediante la apertura de un nuevo hilo. Usted puede hacerle frente en su antiguo hilo

Encabezado y pie de página
  #3 (Enlace permanente)  
Old 08-14-2007
Lorcan lorcan is offline
Usuario Registrado
  
 

Fecha: Mayo 2007
Puestos: 219
Guardar la salida de la awk en una variable como


Código:
New_head=$(awk '{ if ( NR == 1 ) { head=substr($0,1,300);} else { last = substr($0,1,300);}END{printf "Header is : %-300s Trailer is : %-300s\n", head, last}' filename )

Y entonces usted puede hacer algo como


Código:
sed -e "1 c\ $New_head" -e '$d' filename

  #4 (Enlace permanente)  
Old 08-14-2007
33junaid 33junaid is offline
Usuario Registrado
  
 

Fecha: agosto 2007
Puestos: 27
Gracias ..... he intentado, pero el código sed mando no funciona correctamente, se está dando salida:

sed: Comando ilegible: 1 c \ de cabecera es: ....... Headervalue Trailer es: Trailer valor .....


No tiene ningún cambio en el archivo como así.
  #5 (Enlace permanente)  
Old 08-14-2007
33junaid 33junaid is offline
Usuario Registrado
  
 

Fecha: agosto 2007
Puestos: 27
suerte para mí también?
  #6 (Enlace permanente)  
Old 08-14-2007
matrixmadhan matrixmadhan is offline Forum Advisor  
Technorati Master
  
 

Fecha: marzo 2005
Ubicación: en el nodo hoja del árbol B +
Mensajes: 2.960
No ha habido otro hilo como dijo Lorcan y este parece ser sólo una continuación de lo anterior hilo en un nuevo puesto.

Por favor, siga posterior a su pregunta en el mismo hilo de manera que sería más fácil hacer un seguimiento en lugar de iniciar un nuevo hilo de la misma cuestión.

Suponiendo que he entendido de su prueba este requisito,


Código:
awk ' { if ( NR == 1 ) { head=$0 } else { last = $0 } arr[i++]=$0; }END{ printf "Header is : %s Trailer is : %s\n", head, last; for( x=0; x<i-1; x++) { print arr[x] } }' filename


Código:
Header is : header Trailer is : trailer
header
record 1
record 2
record 3

combinado encabezado y remolque está disponible seguida de que
cabecera está disponible
todos los registros se visualizan
remolque registro no se muestra

Si esto no es lo que usted había solicitado, háganoslo saber
  #7 (Enlace permanente)  
Old 08-16-2007
33junaid 33junaid is offline
Usuario Registrado
  
 

Fecha: agosto 2007
Puestos: 27
bien que está bien, pero yo estaba sólo preocupado por el número de archivos que se crean ........ hay un problema que me estoy haciendo una nueva línea (línea en blanco) al final del archivo ....... .... por qué es tan utilizando este código:


awk '(if (NR \u003d\u003d 1) (cabeza \u003d substr ($ 0,1,149);) else (ultimo \u003d substr ($ 0,1,149);) matriz [i ++]\u003d$ 0;) END (printf "%-149s% -- 149s \ n ", la cabeza, el pasado, para (x \u003d 1; x <i-1; x++) imprimir arr[x]) (}'file1> archivo2


Cuando abro archivo2, me sale una línea adicionales .......?
Closed Thread

Marcadores

Herramientas de hilo Buscar en este Hilo
Buscar en este Hilo:

Búsqueda avanzada
Modos de visualización Vota a este hilo
Vota a este hilo:

Normas de envío
puede que no nuevo puesto de hilos
puede que no enviar respuestas
puede que no enviar archivos adjuntos
puede que no editar sus puestos

Código BB es Encendido
Emoticones son Encendido
[IMG] código Encendido
Código HTML es Apagado
Trackbacks son Encendido
Pingbacks son Encendido
Refbacks son Encendido




Todas las horas son GMT -4. La hora es 08:14 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traducciones de idiomas Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Estudios
El UNIX y Linux Foros Contenido Copyright © 1993-2009. Todos los derechos Reserved.Ad Gestión por RedTyger

Las direcciones URL de contenido vBSEO 3.2.0