Last Friday as I was working, I was asked to get some information from the application logs for a particular period of time. I needed to extract some data and count the results. The given period was last twelve months.
Luckily I am working with Linux, so I opened a shell session and typed the following after doing some research on the Internet:
[java]
grep -B4 "String1" *.log | grep "String2" | cut -d -f2 | sort -u | wc -l
[/java]
Basically what the command does is:
- In all files with extension log , grab 4 lines before occurrence of “String1″ and pass the outcome result to the next command
- Find occurrence of “String2″ and pass the outcome result to the next command
- Split by SPACE delimiter and grab the second field and pass the outcome result to the next command
- Sort in unique manner and pass the outcome result to the next command
- Count the results and output
Simple and efficient. The whole process took only few seconds.
I do not think I could have done this so easily if I would be working on Win platform…
You gotta’ love Linux!