Se trata de comparar diferentes formas de hacer lo mismo.
1. Hacer un programa en lenguaje C, que lea un archivo de entrada y busque un string y si lo encuentra, lo guardara en una variable con valor 1.
/ *=================================================* span="">* Programa que encuenta una secuencia de letras de en un archivo que abre *
">*=================================================*
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int argc, char *argv[])
{
int cont=0;
char renglon [50];
FILE *ifp;
if (argc != 2) {"\n%s%s%s\n\n", "Debes teclear: ", argv[0], " ArchivoEntrada");"r");while ((fgets (renglon , 50 , ifp)) != NULL){
if(strstr(renglon,"NORMAL COMPLETION") != NULL)
cont++;
}
printf ("\n\n%d\n\n", cont);
return cont;
} Se compila el programa y no tiene errores, entonces se hace un archivo ejecutable para que lo repita n veces (10 en mi caso)
archivo EnPal.sh
#!/bin/bash echo "Buscara una cadena de caracteres en 10 archivos." for j in 20; do for i in 2; do for k in 1 2 3 4 5; do # echo "wee_"$j"_"$i"_"$k ./ex "wee_"$j"_"$i"_"$k".lst" >> "ResEncPal.txt" done done #awk '{if ($1 == 1)} {print "El archivo wee_"$j"_"$i"_"$k".lst fue exitosos"}' "ResEncPal.txt" done #awk '{if ($1 == 1)} {print "El archivo wee_"$j"_"$i"_"$k".lst fue exitosos"}' "ResEncPal.txt" for j in 40; do for i in 4; do for k in 1 2 3 4 5; do # echo "wee_"$j"_"$i"_"$k ./ex "wee_"$j"_"$i"_"$k".lst" >> "ResEncPal.txt" done done done echo "F I N"
El archivo ResEsnPal.txt, solo contiene 0 y 1's, 1: si el archivo que lee contiene la palabra NORMAL y 0 en otro caso.
2. Con Python.
Primero concatenamos los 10 archivos con la instruccion cat (cat arch1 arch2 ... arch10 > prov) y despues ejecutamos las siguientes lineas:
python
mport string
text = open('prov').read()
print string.count(text, 'NORMAL')
quit()
3. Desde Unix
grep -c 'NORMAL' prov
N -> es el numero de veces que el status fue terminacion completa
Referencias:
Referencia 1.
No hay comentarios:
Publicar un comentario