![]() |
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.
|
|
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 |
| bucle while dentro de bucle while | panknil | Programación de scripts de shell y | 0 | 01-07-2008 12:49 PM |
| Bucle for | xramm | HP-UX | 3 | 10-10-2007 02:20 PM |
| Si bien Bucle | hemangjani | Programación de scripts de shell y | 2 | 11-02-2006 11:01 AM |
| bucle for | munnabhai1 | Programación de scripts de shell y | 3 | 04-06-2006 02:30 PM |
| cómo obtener la función similar en el bucle while o bucle for | trynew | Programación de scripts de shell y | 3 | 06-17-2002 11:09 AM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Bucle ayuda
Estoy tratando de extraer información de un archivo basado en una columna. Quiero que los registros que cumplan una serie de criterios que se coloca en un mal de archivo y retirado de los principales archivos. Tengo que ir al archivo, pero el mal ya que hay más de un registro no estoy recibiendo todos ellos retirados del buen archivo. ¿Cuál es la mejor manera de leer la información en cada pieza y se han eliminado sin sobrescribir el archivo y no la eliminación de todos los datos erróneos.
El código: nawk '(if (longitud ($ 0)> 106) print $ 1)' lecturas | sort-u> mala gato malo | leer mientras MEDIDOR hacer gato lecturas | grep $ MEDIDOR>> bad.daily gato lecturas | grep-v $ MEDIDOR> diario hecho Sé que el problema es el segundo grep-v es la sobreescritura de archivos, pero tengo que encontrar la mejor manera de poder eliminar los múltiples sin sobrescribir. Gracias Acantilado Última edición por cjeffers; al 06-27-2006 12:16 PM.. |
|
|||||
|
No se ha probado:
Código:
nawk '{if (length>106) print > "bad.daily" ; else print > "daily"}' reads
|
|
||||
|
Sus necesidades no son claras.
Mi tomar: ¿Quieres dos archivos: uno con todos los datos de buena calidad otro archivo único malo con sólo los datos Criterio de la buena / mala: buenos datos \u003d longitud de registro igual a menos de 106. Código:
awk 'length($0)>106' reads | sort -u > bad.daily awk 'length($0)<=106' reads > good.daily |
|
||||
|
Sí quiero dos archivos, uno con datos erróneos y con una buena. El problema es la mala los archivos con datos podrían tener otros registros que son buenos, pero tendría que ser retirado también se basa en una única columna. La columna puede contener varios registros con sólo algunos de ellos están mal, pero todos los que necesitan ser removidos.
Lo siento, debería haber sido más claro. |
|
||||
|
He utilizado egrep para resolver el problema. Gracias por la ayuda.
|
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|