A quick guide on getting better with grep and its more popular uses.
Пікірлер: 158
@buysnoah5 ай бұрын
Who up grepping they file rn
@navekeng5 ай бұрын
lol
@ekinakkaya92575 ай бұрын
i'm grepping my log files so hard rn
@eklipsed92545 ай бұрын
Noah?!!!!!
@buysnoah5 ай бұрын
@@eklipsed9254 ?
@chair5475 ай бұрын
When she grep on my file til I segfault
@amandasandell33515 ай бұрын
now THIS is the kind of tutorial video i'd like to see more often. Straight to the point, no boilerplate, explain a concept and show an example. Very educational and useful
@navekeng5 ай бұрын
Thanks! I appreciate it, more to come 😄
@leonardofralini63985 ай бұрын
No useless talks, great content with examples, good video and audio quality. Nice job! You earned a sub Keep it up!
@navekeng5 ай бұрын
Tytyty 🫡
@diceandbricks5 ай бұрын
I like how you focus on a single command and give a very helpful overview. So many other "10 great linux commands" videos don't give enough detail for me to retain them. This is much better.
@navekeng4 ай бұрын
Much appreciated!
@TreeLuvBurdpu5 ай бұрын
-C is for context, a very important word.
@navekeng5 ай бұрын
Yea haha just chugging through forgot the word ha
@NunoMartinsGalvaoАй бұрын
Exactly is like the diff command where it says it has 3 lines of context (you can change the amount of lines of context). @navekeng great content btw
@monkeecrap5 ай бұрын
You absolute gigachad. This was amazing, thank you. 🙏
@navekeng4 ай бұрын
Glad you enjoyed it!
@abhishekvenkat95854 ай бұрын
Honesty I have known grep for like a decade and use it literally daily for half of that decade but watching this made me realise what all I was missing on. Thanks for the video.
@ericpayne28465 ай бұрын
Excellent content. I hope you make a ton of videos this year. Thanks for sharing your knowledge!
@navekeng5 ай бұрын
That's the plan! thanks!
@hasib9275 ай бұрын
Really loved the video, very comprehensive yet quite short. Please keep posting more videos. Two useful flags that I would've love to see: -R and -n.
@navekeng5 ай бұрын
good points, I didn't touch -n and I ended up cutting -R for time and brevity but there is a good point for its importance and should of figured out how to fit it in
@abneryang21024 ай бұрын
Just found this channel, great stuff. I really like the way you go about explaining stuff. Looking forward to looking through more of your content - keep going!
@navekeng4 ай бұрын
More on the way, thanks!
@muhammedkadirtan34695 ай бұрын
Came for the grep, stayed for the regex. Great content. One thing I would add is, sometimes I grep twice. For example, I want to find all the 404 logs, but then I also want to filter out logs with specific message, say "user not found". Then I can: cat server.log | grep 404 | grep 'user not found'
@navekeng5 ай бұрын
Ah good point, Yea I guess it’s not obvious haha Thanks for watching!
@Hornet18065 ай бұрын
Pretty sure you can do both of those at the same time with -E and/or -v. Also, you can pass your file in to grep directly rather than cat, which is for concatenating files together. On some shells you can also just < file to print its contents.
@florianrose89072 ай бұрын
Please keep making those Videos. Those are so nicely done :) I am thankful!
@thewadegreen5 ай бұрын
I subbed when he said "the alligators", hilarious! Loving the helpful video, it's great how you break everything down so well step by step.
@navekeng5 ай бұрын
LOLOLOLOL Talking and typing is hard enough... to much to handle saying 'angle bracket' hahaha
@navekeng5 ай бұрын
and of course thanks!
@Nobody-eg4bi2 ай бұрын
You have the best video ever about grep on KZfaq
@niczoom3 ай бұрын
Great video, thanks!
@danel19224 ай бұрын
such a great concise video, thx!
@jwf31485 ай бұрын
I'm pressured for time, so I can't "Like" all of the positive comments - but please note that I do agree with each and every one...VERY userful videos...Yea for us, Thank you to you.
@ekinakkaya92575 ай бұрын
straight to the point, also i really like the video & sound quality. you earned a subscriber brah
@navekeng5 ай бұрын
ty ty 🫡
@INCLASKY5 ай бұрын
Awesome videos for people learning man, keep it up!
@navekeng5 ай бұрын
Glad you like them!
@HamsterLover13373 ай бұрын
Amazing!
@sagarchilivery61125 ай бұрын
Trust me, you will grow like anything just keep posting linux videos! totally loving it!
@navekeng5 ай бұрын
That's the plan!
@harijagarnauth5 ай бұрын
Awesome!
@navekeng4 ай бұрын
Glad you think so!
@codeman99-dev4 ай бұрын
Very important note! The grep command is very battle tested. A regex that is safe with grep is not necessarily safe to use on requested resources. Always use extra caution with unknown inputs. Use extra extra caution if that unknown input can build a regular expression!
@jenselstner55275 ай бұрын
Use 'grep -P' for Perl regexes. Then you're able to use special shortcuts like \d for a digit or \s for a whitespace, etc.
@navekeng5 ай бұрын
Yea I avoided Peral because I think it adds complexity to what is necessary vs not, hell I was trying to avoid -E but then the command was so ugly lol my thought was the Perl folks already know how to do Peral regex! lol
@navekeng5 ай бұрын
Thanks for the suggestion and watching!
@jsd45444 ай бұрын
Useful! Thanks
@navekeng4 ай бұрын
Glad you think so!
@JohnSmith-ni4cs4 ай бұрын
@4:40 -e tells grep to search for the regular expression '-a'. It does not negate special characters. For example if you searched for -e 'a$' it would return lines ending with the letter a
@JairEmanuels5 ай бұрын
Great video, will definitely help me prepare for my exam :)
@navekeng5 ай бұрын
Best of luck!
@NostraDavid25 ай бұрын
RE: Logging Use structured logging and preferrably JSON - you can now use jq and do WAY more powerful stuff in an almost-as-complex language as regex.
@navekeng5 ай бұрын
Yea that is true, I have a whole vid in the pipeline on OpenTelemetry (my day job is on an Observability team fun fact) But maybe I will do a quick video on jq, imo I use jq more then like awk. Thanks for the input, ill call you out when I do a vid on jq lol!
@abhishektiwari95615 ай бұрын
this is a great short and to the point video.
@navekeng5 ай бұрын
Appreciated!
@dandogamer5 ай бұрын
Need a video on jq , I'm a noob at it but can appreciate how efficient it can be to find and manipulate json
@navekeng5 ай бұрын
No joke writing out a vid on jq right now!
@navekeng5 ай бұрын
Sometime this week actually! Haha thanks for the comment
@TrustJesusToday3 ай бұрын
It is helpful to get a grip on grep.
@tanuj055 ай бұрын
Nice tutorial
@navekeng5 ай бұрын
Glad you think so!
@Hornet18065 ай бұрын
Pretty sure -C is context. I use vim as my pager for man pages, but this should apply regardless. In man, I would use /^[ ]*-a, to find the section of the man page relating to the a flag. It reads, “show me lines beginning with some number of spaces immediately followed by -a”.
@navekeng5 ай бұрын
good point, and yea I missed context lol
@kychemclass5850Ай бұрын
Thank you. If you have time a video on the $ sed command would be great, leading to string parsing.
@ShinichiroKururugi4 ай бұрын
Great video! I consider myself a bit of a seasoned sysadmin but I still managed to learn '-w' and '-e' for the first time! I normally use 'fgrep " term " ' (or 'grep -F') to search literal strings. As a bit of feedback, I would avoid teaching 'cat | grep' as an example because it is generally considered to be poor practice as it achieves the same result while expending more CPU resources. But if you must use the example, then at the very least mention that it is less than an ideal use 'cat'. While 'cat' itself is not a huge deal resource-wise, myself, a long time ago have been guilty of using 'cat | grep' not knowing any better but hope to teach others better practices and better habits. I would instead use different commands like 'ifconfig' or 'ps' to demonstrate the use of piping into 'grep'.
@neunmalelf5 ай бұрын
I guess that kind of videos can be helpful for beginner. Not too much detail and options digging, still a decent amount of helpful information. Well done! 👍☺
@navekeng5 ай бұрын
Glad you enjoyed it! Yea the intention is showing the power, basically removing some unknown unknowns from someone newer or rusty with the tool!
@neunmalelf5 ай бұрын
I wonder if people would be interested in KZfaq shorts with 'new / additional' tips and 'reminder' using this common tools 🤔.grep and find would be good candidates IMHO
@bl00dspec755 ай бұрын
grep is probably one of the most powerful pieces of software ever created next to git
@navekeng4 ай бұрын
agreed
@acayipbiseyya3 ай бұрын
thx man
@friedrichmyers5 ай бұрын
This is what youtube videos should be like!
@navekeng5 ай бұрын
Well don't think I can ask for a better complement! haha thank you!
@spamharder17575 ай бұрын
One useful flag I didn't see: the -o flag. I use it a lot when grepping by some regex pattern and I only need the match output
@navekeng5 ай бұрын
Oh good callout I missed that and it would be a helpful one for sure!
@BarisGulten5 ай бұрын
Good channel. Keep going 😊
@navekeng4 ай бұрын
Thank you! 😃
@JassonCordones4 ай бұрын
nothing that I didn't know already but great video anyways
@navekeng4 ай бұрын
Glad you enjoyed!
@bermudi5 ай бұрын
You should be using your pager to find things in manual pages. Usually `less` is used as man pager and literally all you have to do is press `/`
@navekeng5 ай бұрын
Yea makes sense, I was mostly just demoing Gregs capabilities here but I could have been more clear it’s one of the ways to do it not “the” way. Thanks for watching
@surplusvalue32715 ай бұрын
super underrated
@navekeng5 ай бұрын
Appreciate that!
@0xchilli5 ай бұрын
take the sub bro , u deserve it , will recommend u a lot
@navekeng5 ай бұрын
I appreciate that!
@nikolaygruychev25045 ай бұрын
damn i did not know some of the flags. nice vid man
@navekeng5 ай бұрын
Glad It was helpful, thanks for watching
@tieTYT5 ай бұрын
I've always thought "-C n" stands for context. As in, the number of lines of context around the match. At least, that's how I remember it.
@navekeng5 ай бұрын
Ngl I made up contains clearly haha you are prob right I need to check the man page haha Thanks for the spot haha
@devondecenzo26584 ай бұрын
Wow; just found this and loved it! Thanks Navek, you know have a new Sub... ME :)
@navekeng4 ай бұрын
Thanks and welcome
@jvdl-dev5 ай бұрын
I know this wasn't the point of your video, but when you're using `man` pages, usually your pager can perform searches within by pressing `/` while you're looking at the man page. For example `/` followed by `-D` and then pressing Enter will find the `-D` flag and then press `n` or `N` to search forwards and backwards. (You can also press `?` instead of `/` to start searching backwards. If you spend a lot of time in man pages, definitely worth figuring out the keyboard shortcuts :) Loved the video btw, very to the point, no unnecessary preamble, just pure usefulness.
@navekeng5 ай бұрын
Yea good point and something I could have clarified that this was one way to do it not “the” way to do it! Thanks for the comment and watching!
@callisoncaffrey5 ай бұрын
If you're using Gnu grep at least make use of the -P switch to get access to the Pearl regex. Also you could have mentioned that not all distros have --color added to the grep alias. Your IP regex isn't fully accurate either, since it also would match illegal addresses. Everything else was quite nice though. For coding purposes -Rn is useful (recursive and show line number). If you want to compare files I found it helpful to add the -x switch. I usually compared kernel .configs with grep -xivf old.config new.config, though I found that still needs too much scrolling, so I hope you have a gnu awk video ready, and you better not pipe grep into awk!
@MaxBerson5 ай бұрын
6:00 C for "circa"!
@emilne835 ай бұрын
Great video overall. But I just want to point out that last part about filtering out IPs is wrong. The first 3 octets can all be 1-3 digits. That filter will miss a lot of possible IPs.
@arief_5 ай бұрын
the nice thumbnail drag me here
@navekeng5 ай бұрын
Weirdly enough this might be the best complement I have gotten, I try so hard and feel so damn bad at creating thumbnails. Honestly Linux is the easy part lol, Thanks!
@hj45lp4 ай бұрын
I suggest you watch next the fantastic "Where GREP came from" by Computerphile...
@navekeng4 ай бұрын
A great video for sure
@carrion12345 ай бұрын
what console font is that?
@navekeng5 ай бұрын
JetBrains Mono Nerd Font
@carrion12345 ай бұрын
@@navekeng oh damn, i use jetbrains mono in my jetbrains IDE, no wonder that tickled something in my brain :D thx!
@navekeng5 ай бұрын
Haha idk it’s not perfect and I don’t love it exsactly yet, but can’t find something better. I’m sure it will change again 😆
@SamClegg5 ай бұрын
For `-C` the mnemonic is "context" I believe
@navekeng5 ай бұрын
yea correct! hahaha I was flying through it and forgot what it was lol
@SamClegg5 ай бұрын
@@navekeng awesome videos by the way.. should have said that part first :)
@navekeng5 ай бұрын
Thanks! Haha
@logangrosz65295 ай бұрын
It may be worth nothing the globbing is performed by the shell, not grep. It is equivalent to just listing all the files that match the glob (because that's literally what the shell does).
@navekeng5 ай бұрын
Yea, makes sense. Sometimes i zero in on how to use the tool and have to cut context. Its a balance for sure that I am still learning
@matthewrease23764 ай бұрын
5:25 no, I don't believe the -- could relate to bash, that would have to be a feature of GREP itself. Because all arguments are passed the same way (argv). It would have to be GREP seeing the -- and handling it to change the behavior of future arguments.
@rabbitt17514 ай бұрын
I’m pretty sure that “-“ is handled by libc, or more specifically getopt and getopt_long (both functions implemented in libc), which grep likely uses for parsing command line args.
@0xchilli5 ай бұрын
less, greater than are called angle brackets in this context 9:27
@navekeng5 ай бұрын
LOL I was movinnn okay... grep makes my brain fog up and I prefer "big alligator" anyways
@patrickhawk60585 ай бұрын
grep -ril
@navekeng5 ай бұрын
lol
@chyldstudios5 ай бұрын
ripgrep > grep
@navekeng4 ай бұрын
don't disagree, but you have to learn the rules before you can break them. Also you might not always be on a system that has ripgrep
@pabloqp79295 ай бұрын
ripgrep®
@navekeng5 ай бұрын
ripgrep is night and day better but you can't always guarantee you have access to it as an engineer on a remote system or lets say in a troubleshooting interview!
@hexssoulld4 ай бұрын
Why use Grep? Reply with what you use it for!
@docmalitt5 ай бұрын
back to school kids... (btw just pumping your engagement, disregard the word salad coming out of my brai... "there is no spoon Neo"... keyboard)
@navekeng5 ай бұрын
A keyboard warrior if you will, fightin the good fight
@MasterSergius4 ай бұрын
Like who searched for this video using grep
@roganl5 ай бұрын
Clear screen is Ctrl-L .
@navekeng5 ай бұрын
Somthing something “old habits” haha 😂
@nomandates91865 ай бұрын
video bookmarked
@navekeng5 ай бұрын
🙂
@rabbitt17514 ай бұрын
`grep EXP FILE` > `cat FILE | grep EXP`
@navekeng4 ай бұрын
lol
@lylestavast76525 ай бұрын
Been grepping since 1987 or so...
@navekeng5 ай бұрын
🫡
@sense3d4 ай бұрын
Great, but please speak more slowly.
@delqyrus26195 ай бұрын
0:50 what a cat abuse.
@navekeng5 ай бұрын
Lol
@LarsBahner5 ай бұрын
We've been trying to get people stop doing cat |grep for years. Why on earth would you do that? You add another process to your pipeline for absolutely no other reason than adding unneeded complexity. You should probably think before you try to teach.
@mariusfacktor35975 ай бұрын
I find myself needing to find a word in a directory and wanting to know the line number. -r for recursive, -n for line number grep -r -n searchterm dir/
@adriansrfr5 ай бұрын
I find ripgrep to be faster and more useful, especially combined with fzf.
@ethernet7645 ай бұрын
Unlocking grep: Install ripgrep 😎
@navekeng5 ай бұрын
“you must first know the rules, before you can break the rules” haha But yea if you are a power user there are many alternatives and ways to make it more powerful
@recarsion5 ай бұрын
I use ripgrep btw
@navekeng5 ай бұрын
ripgrep is night and day better but you can't always guarantee you have access to it as an engineer on a remote system or lets say in a troubleshooting interview!
@recarsion5 ай бұрын
@@navekeng yep, unfortunately, but GNU grep is still a great tool
@ThePacolicious4 ай бұрын
Love your content and your presentation. Got a sub from this guy. | grep "earned sub"
@navekeng4 ай бұрын
Thanks!
@nielsbom55585 ай бұрын
Give it up for grep in 2024: ripgrep. It’s faster, it auto ignores files you probably don’t want to search for and it’s mostly a dropin replacement for grep.
@navekeng5 ай бұрын
ripgrep is night and day better but you can't always guarantee you have access to it as an engineer on a remote system or lets say in a troubleshooting interview!