iscomar001
2/16/2016 - 12:01 AM

awk csv

awk csv

#SAVE FILE AS TEST1.awk

#awk -f TEST1.awk -v col1=11 -v col2=12  "/home/omar/Temp/omar/centro oriente/DV01020161I01_OCR INTEGRA DETALLE.txt"
#awk -f TEST1.awk "/home/omar/Temp/omar/centro oriente/DV01020161I01_OCR INTEGRA DETALLE.txt"

#INICIO DEL PROGRAMA AUN NO RECORRE LOS REGISTROS
BEGIN { 
  FS=","; 				#SEPARADOR DE COLUMNAS
  OFS=",";				#SEPARADOR DE COLUMNAS SALIDA
  print "INICIO";			#PRINT
}
#ESTE ES EL CUERPO DEL PROGRAMA QUE SE REPITE POR CADA LINEA
{  
  
  if (NR==1) { 				#NUMERO DE REGISTRO 1 SE MUESTRAN Y CUENTAN LAS COLUMNAS
    print "\nNumero Columnas= ", NF      
    for(i=1; i<= NF; i++){
      print "COL ", i, " = " $i       
    }
    numCols=NF				#SE ASIGNA NUMERO DE COLUMNAS DEL HEADER
    print "\nREGISTROS INCORRECTOS\n"      
  }else{
    if (numCols < NF){      
	if (col1>0){					#SI TRAE PARAMETRO IMPRIME PARAMETRO	  
	  print "COLS= ", NF, " - " , $col1,$col2      	  
	}else{	  
	  print "COLS= ", NF, " - " , $0      	  
	}       
    }      
  }
}
#FIN DEL PROGRAMA
END{
  print "\nNUMERO REGISTROS= " ,NR
  print "FIN"
}