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
la eliminación de patrón que se extiende en varias líneas sabyasm Programación de scripts de shell y 2 05-13-2008 06:19 AM
tr utilizando para varias líneas de producción en una sola línea otes4 Programación de scripts de shell y 3 02-18-2008 11:30 am
fusión de varias líneas del fichero "plano" hnhegde Programación de scripts de shell y 4 12-05-2006 07:13 PM
Utilice sed de fusionar varias líneas xb88 Programación de scripts de shell y 3 08-08-2006 02:54 PM
Extracción de múltiples grupos de usuarios a través de línea de comandos jquizon62 Sun Solaris 1 10-28-2004 01:56 PM

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 10-14-2008
tink tink is offline
Usuario Registrado
  
 

Fecha: junio 2008
Publicaciones: 4
Extracción de fin de línea para fusionar varias líneas

Estoy seguro que esto será una pregunta fácil para usted expertos ahí fuera, pero he estado buscando el foro y que trabajan en esto por un par de horas y ahora no puede hacerlo bien.

Tengo un archivo de datos muy desordenado que estoy intentando poner en orden - una de las cuestiones que en algunos textos de archivos se dividen en varias líneas:

999999000 "Nombre" "este es el texto de una línea
línea de dos
línea de tres "

Y he estado intentando todo tipo de versión de sed para que se vea como este:
999999000 "Nombre" "esta es una línea de texto para la línea dos líneas tres"

y sí, he tratado cosas como sed 's / $ / /' archivo1> archivo2 ... el problema no es cada línea tiene un problema, así que estoy tratando de averiguar cómo eliminar la línea sólo se alimenta de líneas problemáticas, no todas las líneas

el problema de las líneas se iniciará con los caracteres alfa numéricos no, así que he estado tratando de hacer algo con eso, pero en vano

gracias

Última edición por tink; al 10-14-2008 12:17 PM..
  #2 (Enlace permanente)  
Old 10-14-2008
ShawnMilo ShawnMilo is offline
Usuario Registrado
  
 

Fecha: junio 2006
Puestos: 252

Código:
cat temp.txt  | perl -pe 's/\n/ /'

  #3 (Enlace permanente)  
Old 10-14-2008
joeyg's Avatar
joeyg joeyg is offline Forum Staff  
modérateur
  
 

Fecha: diciembre 2007
Ubicación: Casa de 17-veces campeón mundial de Boston Celtics
Puestos: 1.311
Wink ¿Esto le dan el resultado deseado?


Código:
> cat file31
999999000 "Name" "this is text for line one
line two
line three"
888888000 "Yep" "All on one line"
777777111 "Yes" "Another good text"
555555999 "Name" "this is other text for line one
line two
line three"

> cat calc_file31
rm file32
while read line
  do
  if [ `echo "$line" | tr -d " " | grep '"$'` ]
   then
    echo "$line""~" >>file32
   else
    echo "$line" >>file32
  fi
done <file31

cat file32 | tr "\n" " " | tr "~" "\n"

> calc_file31
999999000 "Name" "this is text for line one line two line three"
 888888000 "Yep" "All on one line"
 777777111 "Yes" "Another good text"
 555555999 "Name" "this is other text for line one line two line three"
>

  #4 (Enlace permanente)  
Old 10-14-2008
tink tink is offline
Usuario Registrado
  
 

Fecha: junio 2008
Publicaciones: 4
sangrienta maravilloso joeyg - gracias!


Esto también trabajó para mí en el final:
sed 's /"$/"|/ g' archivo1> archivo2

porque el dobles es válido para la última columna ... a fin de reemplazar las comillas dobles y línea final con doble cotización y las tuberías de ...

Gracias de nuevo
  #5 (Enlace permanente)  
Old 10-14-2008
freelong freelong is offline
Usuario Registrado
  
 

Fecha: abril 2008
Puestos: 38

Código:
awk '/^[0-9]/ { print ""; printf $0}
     !/^[0-9]/ {printf $0}
     END {print ""}' filename

Closed Thread

Marcadores

Etiquetas
Los finales de línea, terminadores línea, sustituir, sed

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 09:54 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