The UNIX and Linux Forums  
Hola y bienvenida de los Estados Unidos a la UNIX y Linux Foros! Gracias por su visita y formar parte de nuestra comunidad global.

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 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

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 06-18-2008
KrishnaSaran KrishnaSaran is offline
Usuario Registrado
  
 

Fecha: junio 2008
Publicaciones: 12
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
  #2 (Enlace permanente)  
Old 06-18-2008
época era is offline Forum Advisor  
Pastor de Gatos Inútil (en año sabático)
  
 

Fecha: marzo 2008
Ubicación: / hay / es / sólo / bin / sh
Puestos: 3.652
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
Un poco difícil de manejar, sino que debe esperar al menos que puedas empezar.
  #3 (Enlace permanente)  
Old 06-18-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 No es tan elegante, pero una forma diferente de abordar el asunto

Código:
> cat chk_valid 
#! /bin/bash
#
# script to check on file conditions

ifile="QDB_2008.txt"

line_1=$(head -1 $ifile)
line_lst=$(tail -1 $ifile)
line_cnt=$(cat $ifile | wc -l)
detl_cnt=$((line_cnt-2))

line_1_val=$(echo $line_1 | cut -d"," -f5)
line_lst_val=$(echo $line_lst | cut -d"," -f2 | cut -d"#" -f1)

if [ "$line_1_val" -ne "$line_lst_val" ]
   then
   echo "Error - header & footer line counts differ"
fi

if [ "$detl_cnt" -ne "$line_1_val" ]
   then
   echo "Error - # detail lines does not match expected counts"
fi
  #4 (Enlace permanente)  
Old 06-19-2008
KrishnaSaran KrishnaSaran is offline
Usuario Registrado
  
 

Fecha: junio 2008
Publicaciones: 12
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
  #5 (Enlace permanente)  
Old 06-19-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Fecha: febrero 2007
Mensajes: 4.309
Código:
awk 1 file
Recuerdos
  #6 (Enlace permanente)  
Old 06-19-2008
ripat ripat is offline Forum Advisor  
Usuario Registrado
  
 

Fecha: octubre 2006
Lugar: Bélgica
Puestos: 438
... o
Código:
$ echo "" >> file
  #7 (Enlace permanente)  
Old 06-19-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderador
  
 

Fecha: febrero 2007
Mensajes: 4.309
Cita:
Publicado originalmente por ripat View Post
... 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
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 10:04 PM.


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