#include #include #include #define MAX 1024 int main(int argc, char *argv[]){ FILE *Fp=NULL; char *tok; char *prog = (char *)malloc(sizeof(argv[0])); char line[MAX]; char *seperator = "|"; /* Fields in Log File */ char date[MAX]; char time[MAX]; char user[MAX]; char id[MAX]; char context[MAX]; char command[MAX]; char information[MAX]; char elapsed_1[MAX]; char elapsed_2[MAX]; char cpu_1[MAX]; char cpu_2[MAX]; char rdbcom_1[MAX]; char rdbcom_2[MAX]; char cpu_per_1[MAX]; char cpu_per_2[MAX]; char rdbc_per_1[MAX]; char rdbc_per_2[MAX]; /************************************ * check for command line arguements. ************************************/ prog=argv[0]; if(argc != 2){ fprintf(stderr, "usage: %s [logfile]\n",prog); /* get out till you learn how to use this */ exit(-1); } if(!(Fp=fopen(argv[1], "r"))){ printf("cant open %s\n", argv[1]); exit(1); } while(fgets(line, MAX, Fp)){ tok = strtok(line, seperator); strcpy(date, tok); tok = strtok(NULL, seperator); strcpy(time, tok); tok = strtok(NULL, seperator); strcpy(user, tok); tok = strtok(NULL, seperator); strcpy(id, tok); tok = strtok(NULL, seperator); strcpy(context, tok); tok = strtok(NULL, seperator); strcpy(command, tok); tok = strtok(NULL, seperator); strcpy(information, tok); tok = strtok(NULL, seperator); strcpy(elapsed_1, tok); tok = strtok(NULL, seperator); strcpy(cpu_1, tok); tok = strtok(NULL, seperator); strcpy(cpu_per_1, tok); tok = strtok(NULL, seperator); strcpy(rdbcom_1, tok); tok = strtok(NULL, seperator); strcpy(rdbc_per_1, tok); tok = strtok(NULL, seperator); strcpy(elapsed_2, tok); tok = strtok(NULL, seperator); strcpy(cpu_2, tok); tok = strtok(NULL, seperator); strcpy(cpu_per_2, tok); tok = strtok(NULL, seperator); strcpy(rdbcom_2, tok); tok = strtok(NULL, seperator); strcpy(rdbc_per_2, tok); printf(" %s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s\n", date,time,user,id,context,command,information,elapsed_1,cpu_1,cpu_per_1,rdbcom_1,rdbc_per_1,elapsed_2,cpu_2,cpu_per_2,rdbcom_2,rdbc_per_2); } exit(0); }