![]() |
|
|
google unix.com
|
|||||||
| Foros | Registro | Reglas de los Foros | Enlaces | Álbumes | Preguntas más frecuentes | Lista de miembros | Calendario | Búsqueda | Puestos de hoy | Marcar Foros Como Leídos |
| 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 |
| Parsing necesita ayuda en un archivo CSV y generar un nuevo archivo de salida | VKR | Programación de scripts de shell y | 15 | 08-01-2008 08:33 AM |
| Encontrar Más antiguos y en movimiento por Parsing Archivo / Clasificación de Información Fecha de Nombres de archivo | nikosey | Programación de scripts de shell y | 6 | 07-30-2008 10:46 PM |
| Analizar un archivo | aol12123 | Programación de scripts de shell y | 11 | 03-25-2008 02:06 AM |
| Parsear un archivo CSV | chiru_h | Programación de scripts de shell y | 6 | 02-12-2008 09:33 AM |
| Analizar un archivo de registro | tbirenzweig | Programación de scripts de shell y | 4 | 06-20-2006 08:02 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Archivo Parsing Ayuda
Hola,
Tengo un archivo que contiene los grupos de campos. Estos grupos están separados por una línea en blanco, para formar un registro lógico. Cada línea consta de un campo de valor par. Si quieres encontrar todos los registros de campo, donde "d" tiene un valor de'4 'y si lo hace, quiero que el valor del campo "a" (del mismo registro). He aquí un ejemplo archivo de entrada: Quiero terminar con un archivo que contiene: Importar cosas NORE sobre el archivo de entrada son: a) el número de registros es variable, b) no todos los registros que contengan una 'd' sobre el terreno, c) no todos los registros que contengan una "a" sobre el terreno, e) los campos pueden estar en cualquier orden dentro un registro. Creo que la respuesta será usar AWK pero tengo muy poco conocimiento de AWK y que sólo se utiliza para cosas muy básicas. El sistema operativo es Sun 5-8 por el camino. Ayudar serán bienvenidos. Gracias. |
|
||||
|
Claro
Parece ser una gran brecha entre sus necesidades y la salida que usted espera. Dependiendo de lo que han declarado la salida debe ser parecida a cfajohnson la awk script correcto ...?
|
|
||||
|
Lo sentimos, son correctos, la salida debe tener el siguiente texto: Código:
1 9 3 6 Muchas gracias por su ayuda cfajohnson. |
|
|||||
|
Con Perl: Código:
perl -00 -ne'print $1,"\n"if/d 4/&&/a (.)/' filename AWK y otro enfoque: Código:
awk '/d 4/ && /a / {
for (i=1; i<=NF; i++)
if ($i == "a") print $(i+1)
}' RS= filename
Última edición por radoulov; al 10-13-2008 04:03 PM.. Motivo: refactored |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|