mraza007 / blog

Currently hosted on vercel
https://blog-vert-iota.now.sh
MIT License
0 stars 0 forks source link

2023/grep-log-analysis/ #5

Open utterances-bot opened 1 year ago

utterances-bot commented 1 year ago

Grep and Log Analysis | Muhammad

Using the power of grep to analyze logs and finding insights.

https://muhammadraza.me/2023/grep-log-analysis/

ubellavance commented 1 year ago

Hi, thanks for this interesting article. I have shared it with my colleagues. I have a few recommenations: 1- You use the -i without explaining what it means (case-insensitive) and sometimes you use it, sometimes not 2- In this command, grep -i -o "error" application.log | sort | uniq -c, you use -o while it is useless in this context and you don't explain what its meaning/role

mraza007 commented 1 year ago

@ubellavance,

I really appreciate your feedback on the post and thank you for sharing it among your colleagues.

In order to answer you question 2

  1. -o Option in grep: The -o option in grep stands for "only-matching." When used, it tells grep to only display the portions of the text that match the pattern you specify, rather than displaying the entire lines that contain the matches.

  2. grep -i -o "error" application.log: This command searches for the word "error" in the file application.log while ignoring case (due to the -i option) and then, with -o, displays only the matching instances of "error."

grep -i -o "error" application.log | sort | uniq -c, the -o option may not be necessary, especially if you intend to count the occurrences of the word "error" across multiple lines in the log file. This is because the -o option would make each matching instance of "error" appear on a separate line, and the subsequent sort and uniq -c commands would operate on those individual lines.

I hope this explains

ubellavance commented 1 year ago

Oh, I see for -o, I didn't know. So if you have a line with 2x the word "potato", grep without -o will only count potato once. I thought at first that it was only to output the match, I didn't consider the fact that there could be multiple matches on one line.

mraza007 commented 1 year ago

@ubellavance Yup that's correct and I hope it helped

ubellavance commented 1 year ago

Will you update the article so that people will not have to go through all these comments to learn?