![]() |
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 |
| Eliminar espacios en blanco entre los campos separados por comas de archivo | nitinbjoshi | UNIX for Dummies Preguntas y Respuestas | 2 | 06-14-2008 09:14 AM |
| Analizar una cadena en el archivo XML mediante script de shell | ayhanne | Programación de scripts de shell y | 46 | 01-09-2008 12:33 PM |
| búsqueda de los contenidos en muchos de archivos e impresión de que el archivo utilizando script de shell | cdfd123 | Programación de scripts de shell y | 3 | 10-07-2007 11:17 PM |
| Cómo analizar las variables de configuración de archivo externo al script de shell | pradsh | Programación de scripts de shell y | 2 | 07-09-2007 03:21 PM |
| La división de valores separados por comas en una matriz | tmarikle | Programación de scripts de shell y | 3 | 06-24-2005 06:50 PM |
![]() |
|
|
Linkback vínculo | Herramientas de hilo | Buscar en este Hilo | Tasa de Hilo | Modos de visualización |
|
|
|
||||
|
Script de shell de Unix para analizar el contenido de archivo separados por comas
Queridos todos,
Tengo un archivo separados por comas. 1. La primera línea del fichero (cabecera) debe tener 4 comas (5 campos). 2. La última línea del archivo debe tener 1 coma (2 campos). Por favor me ayude en el control de esta condición en un script de shell. Y el número de líneas entre la primera línea y la última línea del archivo, debe corresponder con el último campo de la primera y la última línea. Es decir, el último campo de la primera y última línea tendrá un número, que debe corresponder con (número de línea en el archivo) -2. Por favor me ayude con esto. Ejemplo de archivo: QDB_2008.txt 1.1,20070427151500,99567,99669,0009 00001,20070427,00567,6012345671,2081, me 00002,20070427,00568,6012345672,2054, me 00003,20070427,00569,6012345673,2063, me 00004,20070427,00570,6012345674,2081, D 00005,20070427,00571,6012345675,2054, D 00006,20070427,00572,6012345676,2063, D 00007,20070427,00573,6012345677,2081, U 00008,20070427,00574,6012345678,2054, U 00009,20070427,00575,6012345679,2063, U 101.1.0,0009 # Recuerdos, Krishna |
|
||||
|
Código:
awk -F, '
NR==1 { expect=$NF; fields=NF; last=0 }
NF != fields { last=NR;
if (NR != 2) print NR ": wrong number of fields: " $0;
if ($NF != expect) print NR ": last field value not the same as on first line"
if ($NF != NR-2) print NR ": last field not equal to line count minus two"
if ($NF != expect) print NR ": line count from first line not identical"
}
last > 0 && NR > last { print NR ": wrong number of fields: " $0 }' QDB_2008.txt
|
|
||||
|
Hola,
El código anterior funciona bien. Quiero ejecutar la secuencia de comandos después de añadir el carácter de nueva línea al final del archivo. Por favor, hágamelo saber cómo añadir una nueva línea al final del archivo, si no existe. Recuerdos, Krishna |
|
||||
|
Código:
awk 1 file |
|
||||
|
... o
Código:
$ echo "" >> file |
|
||||
|
Esto siempre añadir una nueva línea al final de un archivo mientras que el PO quiere añadir un carácter de nueva línea al final del archivo, sólo en caso de que no existe.
Recuerdos |
![]() |
| Marcadores |
| Herramientas de hilo | Buscar en este Hilo |
| Modos de visualización | Vota a este hilo |
|
|