Linux/Mac Terminal Tutorial: The Grep Command - Search Files and Directories for Patterns of Text

Поделиться
HTML-код
  • Опубликовано: 2 дек 2024

Комментарии • 242

  • @whenthethebeansstrikeback6728
    @whenthethebeansstrikeback6728 4 года назад +272

    I like that this guy just gets straight to the point and wastes no time. I like this man already!

    • @richardgray8593
      @richardgray8593 3 года назад +3

      I'd like it even better if he would take just a sec to give a shout-out to the Greatest President That Ever Was or Ever Will Be, Donald J. Trump.

    • @caitlingibbons2246
      @caitlingibbons2246 3 года назад

      @@richardgray8593 LOL! Don the Con is a sociopathic narcissist. He is, and will always be, the worst "president" to ever trespass in The White House. Good riddance to this parasite.

    • @richardgray8593
      @richardgray8593 3 года назад

      @@caitlingibbons2246 You are pathetically stupid to post something like this. Every day, Joe and the Ho are showing us what a great president Trump truly was.

  • @latlov
    @latlov 4 года назад +118

    6:35 $ grep -win -C 2 "find this string" ./*
    8:05 $ grep -winr "Find that string even in subdirs" ./*
    9:35 $ grep -wirl "List those files that contain this string in current directory dot" .
    10:20 $ grep -wirc "List those files that contain this string and number of occurrences in current directory dot" .
    11:10 $ history | grep "search for git commits in history"
    12:00 $ history | grep "search for git commits" | grep "now narrow down to some string"
    15:40 only for mac: $ brew install grep --with-default-names #to allow regular expressions based on perl, as shown in 17:56.
    19:13 Homework!

  • @MrTommycat95
    @MrTommycat95 3 года назад +2

    Some folks are intelligent and smart but are horrible at teaching. Corey is smart, intelligent and born to be a teacher. While I am going to contribute on patreon right away, you have a gift that you can use to sell your videos at a small price to benefit and educate the population. Amazing

  • @Spladoinkal
    @Spladoinkal 6 месяцев назад +3

    Wow your tutorial made grep SO much simpler. Thanks!

  • @VishKnew
    @VishKnew 4 года назад +2

    Mann....You are a legend...Only few people are out there like you..You really are a gemstone. Thank you soo much for this awesome tutorial brother ❤️ No wasting time, straight to the point. God bless you.
    Love from Kerala ❤️

  • @uuzumakifox9
    @uuzumakifox9 4 года назад +2

    I just ended up watching your Python OOP series. and i randomly looked for some Linux tutorials, and i was SOOO happy to see your name!

  • @Satonyan9
    @Satonyan9 7 месяцев назад +2

    very easy to understand :) thank you!!

  • @msurajnair7149
    @msurajnair7149 4 года назад +1

    There are very few tutorial which gets straight to the point, this is one of them. Really enjoyed learning, Extremely instructive.
    Thank you.

  • @thrilochanpakkapoti99
    @thrilochanpakkapoti99 3 года назад

    After seeing one video, i am addicted to watch more. Thank you friend

  • @ahmedmahdy6036
    @ahmedmahdy6036 6 лет назад +48

    awesome ...I really like your style in explanation Corey which i feel like i'm enjoying while watching your tutorials :)

  • @CrushOfSiel
    @CrushOfSiel 5 лет назад +5

    So glad I looked at this tutorial. I've known how to kind of use grep for a while. Some of these options are going to be super helpful to me in the near future. I should have looked in the man pages a long time ago!

  • @kenthn5396
    @kenthn5396 4 года назад +3

    I like how this was explained. Straight to the point and simple, very easy to understand.

  • @andremorency
    @andremorency 5 месяцев назад

    Great tutorial. Now I understand the grep command much better and I'm looking forward to understand more about regular expressions. Thank You !

  • @mathewkargarzadeh3158
    @mathewkargarzadeh3158 6 лет назад +4

    outstanding !!!. Dear Corey, appreciate for your time posting your tutorials. I am enjoying teaching style. Thanks again!!

  • @spot1401
    @spot1401 6 лет назад +5

    Coincidentially, I had just tried out grep yesterday after completing the "Terminus" game. Today my colleague was very impressed when in a matter of seconds, out of 7500 case files, I picked those 40 or so which contained one certain word. also you can export the results easily into a file (I use &>>filename.txt (.csv also works)), which might come in handy if your boss wants "all the contracts with the Miller Company ASAP", or if you want to quickly mail a list of relevant files. As always, great video!

    • @coreyms
      @coreyms  6 лет назад +5

      Nice! Yeah, knowing the command line is a great way to do tasks like this and is a lot more time efficient than writing a complete program from scratch to do the same functionality.

    • @spot1401
      @spot1401 6 лет назад +2

      I think back to the days where I literally let Windows XP search through "all .doc files, look for existence of expression Blabla" over the whole FRIGGIN WEEKEND! I think back in shame of course :) One day, I will make a video explaining how I turned an unsorted mess of 15 years unsorted .doc files into a searchable database over a weekend and I will refer a lot to you. Thanks man!

    • @midokoudaih290
      @midokoudaih290 6 лет назад +1

      This is exactly what I'm looking for, a way to search for a certain word within 10-20K of case files, located on different drives. I usually use mdfind "word" but it doesn't always work on pdf files, do you mind sharing that method/command you used to find those files?

  • @younesmdarhrialaoui643
    @younesmdarhrialaoui643 Год назад +1

    Excellent. Straight to the point. Concise and precise. Love it 🤩

  • @j0hn4th4nd03
    @j0hn4th4nd03 5 лет назад +2

    Clearest most concise tutorial I have found! Thank you!

  • @mickaelriga8169
    @mickaelriga8169 5 лет назад +2

    Great video ! Great explanation. I like that it goes beyond the basic use. Thank you for sharing.

  • @JordanCrawfordSF
    @JordanCrawfordSF 6 лет назад +3

    Brilliant.
    Thank you for taking the time to help me understand grep, I really appreciate your thoughtfulness Corey.

  • @Hamzaelbouti
    @Hamzaelbouti 6 лет назад +5

    YOU ARE AMAZING ...... DO NOT EVER STOP

  • @khuenlau4602
    @khuenlau4602 5 лет назад

    Thanks for creating this video, have been searching on how bash commands filter text files, can't find anything helpful, glad I searched it on RUclips.

  • @soumitripattnaik
    @soumitripattnaik 6 лет назад +27

    These days I hit like as soon as I click on the video, I know it's going to be awesome anyway :)

  • @apolodu7852
    @apolodu7852 2 года назад +1

    You've made learning these commands so easy, great job and thank you!

  • @RahulDubey121
    @RahulDubey121 2 года назад

    Another awesome video from one of the greatest online tutors.. Hats off, corey. With lots of Love from India :)

  • @iandthopper
    @iandthopper 4 года назад +1

    Corey is simply the best.

  • @praisehymnproject319
    @praisehymnproject319 4 года назад +1

    Such a useful and straight forward video! Awesome!

  • @ilgas11
    @ilgas11 4 года назад

    the only youtuber to speak at playback speed 1.5 by default! :D

  • @yogi30303
    @yogi30303 3 года назад

    Man, you're awesome. You made everything sound so easy.

  • @PoeLemic
    @PoeLemic 4 года назад +1

    Thanks for covering this. Man, do you make things understandable and simple. I wish that I would have just used RUclips to learn Linux, instead of doing a community college course.

  • @kenchiken6338
    @kenchiken6338 2 года назад

    This video is definitely getting saved for future use

  • @tomaspyth7017
    @tomaspyth7017 5 лет назад +5

    Hi corey, well done like always 👍👍 thanks
    Nevertheless i would like to add a trick if you didn't already know that
    When you use history and grep you could wrap the g of grep in a square braquets in order to not get the command itself in the output of the matched results...
    History | [g]rep

  • @yash1152
    @yash1152 Год назад

    searching for "regular" in the transcript pane of youtube desktop, go here:
    12:18 > _"... more advanced searches using regular expressions now I'm not going to go into detail about how to write regular expressions in this video but if you're interested then I'll put a link to my regular expression videos in the description section below. So grep uses POSIX regular expressions by default now ..."_

  • @benwalsh2825
    @benwalsh2825 5 лет назад +3

    Great video as always. Our company has switched from Windows to Mac, and I find all of these videos supremely helpful while transitioning.
    Also, I find it interesting that Gnu is pronounced Gah-new when referring to the software, but just "New" when referring to the animal; sort of like Dvorak the composer (pronounced: d(ə)-VOR-zha(h)k) vs Dvorak the professor/keyboard designer I guess. Thanks again!

    • @coreyms
      @coreyms  5 лет назад +2

      Glad you find the videos helpful! As far as the pronunciation, if you're interested there's a short clip on this site with the author explaining how he came out with the pronunciation. Kind've humorous and interesting:
      www.gnu.org/gnu/pronunciation.en.html

    • @benwalsh2825
      @benwalsh2825 5 лет назад

      @@coreyms Well that is really cool! Thank you for sharing it! Gnu has always been my favorite word choices when playing Hangman with folks for the first time. Almost always wins. :)

  • @evrensen1520
    @evrensen1520 5 лет назад +1

    I love your tutorials. Really enjoyable. Thanks a bunch.

  •  6 лет назад +30

    He's really an amazing guy. I watch this even I know this. So addicted.
    Suggestion: put an xargs video :-)

    • @filthyE
      @filthyE 5 лет назад +1

      Good suggestion! xargs is so useful!

  • @jannywong714
    @jannywong714 4 года назад +1

    Homebrew UPDATE Aug 2020
    If you're a mac user and want to use corey's homebrew trick, read on...
    At 16:07 Corey says to use this command: brew install grep --with--default-names
    I tried doing this and it doesn't work. Per a google search that optional argument is no longer allowed. Here's the work-around.
    1. Inside terminal: *brew install grep*
    2. inside your .bashrc file, put this line of code, preferably at the top so this path is checked first: *export PATH="/usr/local/opt/grep/libexec/gnubin:$PATH"*
    3. open a new terminal window (command+n) and type in *grep -V* . Should say GNU grep.

  • @kalef1234
    @kalef1234 6 лет назад +3

    finally a nicely done video on this! Thanks

  • @falkelh
    @falkelh 3 года назад

    I really like your shells theme! Its also a great tutorial!

  • @tamirsasi
    @tamirsasi 4 года назад +1

    The video is excellent, very clear, I learned a lot

  • @nappingyiyi
    @nappingyiyi 3 года назад

    thank you so much for talking about the BSD grep and GNU grep!! i stuck there for so long ;-;

  • @kevinduigou3212
    @kevinduigou3212 6 лет назад +3

    Simple and clear. Thank you!

  • @Lukas-wm8dy
    @Lukas-wm8dy 4 года назад +3

    In case any one is having issues with the --with-default-names flag on Mac - it is apparently not available anymore in the latest version of homebrew. One workaround that worked for me is to 1. install the package via "brew install grep"; 2. set up an alias pointing from grep to ggrep. You can do this by adding 'alias grep='ggrep' somewhere in your .bash_profile file.
    Steps:
    1. brew install grep
    2. nano ~/.bash_profile
    3. (add 'alias grep='ggrep' somewhere in the file and then save it)
    4. open new terminal for the change to become effective
    5. check with grep -V (should display "ggrep (GNU grep) ...")

  • @vathsama
    @vathsama 5 лет назад +1

    excellent video, a good start for grep...much appreciated

  • @genericusername555
    @genericusername555 5 лет назад +2

    Excellent tutorial.

  • @lokeshkoliparthi9268
    @lokeshkoliparthi9268 2 года назад

    For any youtube searches, If I see your video I would just open it

  • @andylib
    @andylib 5 лет назад +1

    A video of pure perfection

  • @skinnymanua
    @skinnymanua 2 года назад

    Once I fell asleep on the keyboard typing grep arguments and it showed me the path to the 5th demension

  • @hackpens2246
    @hackpens2246 3 года назад

    Fantastic video. I learnt some great options today. Thank you very much!

  • @arunsinghchouhan5541
    @arunsinghchouhan5541 4 года назад +1

    Nicely explained. Thanks!

  • @serhiypidkuyko4206
    @serhiypidkuyko4206 4 года назад +1

    1. one can't use the "\d" for the digit in grep/egrep (if not use "-P")
    2. to use "{3}" for "three times" one need to use 'egrep' instead of 'grep' (if not use "-P")
    3. there is no option "--with-default-names"
    4. => one need to install "brew install grep" and use 'ggrep/gegrep' instead of 'grep/egrep'
    5. there is a very useful option "--color" to highlight found items (as well as filenames and row numbers when using GNU grep)

  • @LuvxJacqu4li8e
    @LuvxJacqu4li8e 2 года назад

    Very nice never bothered to learn it before but great video

  • @subhamraoniar5180
    @subhamraoniar5180 3 года назад

    Amazing video, exactly what I wanted

  • @MariaFlorenciay
    @MariaFlorenciay 6 лет назад +3

    Very well explained! :D

  • @katexie1069
    @katexie1069 2 года назад

    Thank you!! This tutorial is super helpful!!

  • @markslima1557
    @markslima1557 4 года назад +1

    Finally a great explanation of GREP for Mac terminal nerds like me! GOLD!

  • @hanac5586
    @hanac5586 2 года назад

    Wonderfully explained

  • @moha_linus
    @moha_linus 5 лет назад +2

    I'm really so happy beacause i found this channel
    Ur the best wallh ... sorry for my bad english

  • @nicholasbarning8250
    @nicholasbarning8250 5 лет назад +1

    awesome video and easy to understand! THANK YOU!

  • @abdelazizabdelioua890
    @abdelazizabdelioua890 5 лет назад +2

    Continue adding courses, you are awesome man, watching your videos makes it both enjoying and learning

  • @sekander1253
    @sekander1253 3 года назад

    Excellent tutorial! Thanks a ton for sharing.

  • @cwash08
    @cwash08 6 лет назад +4

    Nice tutorial, I see there''s also a find tutorial too. I'll check it out. I always am confused between both of them

  • @goddardpk
    @goddardpk 3 года назад

    Hi Corey, thanks for last bit on Mac BSD grep distinction!

  • @hedleypanama
    @hedleypanama 6 лет назад +3

    I thinkl you forgot the -v option that matches everything but the pattern!
    Anyway, I learn a lot! thanks for your nice video!

  • @arborinfelix
    @arborinfelix 5 лет назад

    This was very informative. Thank you for the video.

  • @experimentalhypothesis1137
    @experimentalhypothesis1137 5 лет назад +1

    best as always. your videos are superuseful

  • @techwithshudarsan559
    @techwithshudarsan559 3 года назад

    It was helpful for me. Thank you

  • @maspoetry1
    @maspoetry1 4 года назад

    great tutorial, thanks!
    Not sure if you did it purposely but -win is an easy, useful flag to remember

  • @sabitkondakc9147
    @sabitkondakc9147 2 года назад

    it was rather helpful, great thanks for the contents.

  • @卡机不
    @卡机不 4 года назад

    you saved my day sir, thank you so much

  • @samkotha1645
    @samkotha1645 6 лет назад +3

    awesome explanation tq sir

  • @linuxmitra7694
    @linuxmitra7694 3 месяца назад

    Crisp n clear , thanks 😊

  • @quentinguillot3850
    @quentinguillot3850 2 года назад +1

    Hello Corey, when i enter the option --with-default-names. I have an error saying "Error : invalid option : --with-default-names". How i can fix it please ?

  • @digitalaks
    @digitalaks 6 лет назад +1

    Great video... You could have mentioned about grep -v option too.

  • @TJKhara
    @TJKhara 4 года назад +1

    Thank you great video!

  • @renergoncalveslopes
    @renergoncalveslopes 2 года назад

    You're the best! Thanks again.

  • @jamesyen98
    @jamesyen98 4 года назад

    This is very helpful, thank you very much!

  • @majki5900
    @majki5900 4 года назад

    awesome tutorial, full of details. Thanks for that ! Subscribed ;)

  • @brpawankumariyengar4227
    @brpawankumariyengar4227 5 лет назад +1

    Great video ... thank you

  • @andresriffo4036
    @andresriffo4036 6 лет назад +1

    Just AMAZING! Thank You!!

  • @shubho5das
    @shubho5das Год назад

    Brilliant, thank you!

  • @NikhilCherianKurian
    @NikhilCherianKurian 2 года назад

    Hey, thanks for the great tutorial, btw how did you create a custom zsh / bash session for theses tutorials?

  • @HSfox
    @HSfox 3 года назад

    This made so much sense :D

  • @eljefe919
    @eljefe919 6 лет назад

    “Anotha one!” - DJ Khali 😄

  • @aravind4444
    @aravind4444 5 лет назад +1

    really useful stuff

  • @LuisJimenezr01
    @LuisJimenezr01 5 лет назад +3

    YOUR CONTENT IS SO UNDERRATED!! THANK YOU SO MUCH FOR YOUR HELP!!

  • @JAWang1994
    @JAWang1994 2 года назад

    great explanation

  • @maxwibert
    @maxwibert 4 года назад +4

    Unfortunately, it looks like homebrew has deprecated the --with-default-names option since the making of this video. Now in order to set gnugrep as the default grep you have to do some strange path manipulation in your bashrc/zshrc file. I don't fully understand how to do this, and was wondering if you might be able to explain the new method. I think you have to add a path to your gnubin in your rc file?

    • @jwesleyb1
      @jwesleyb1 3 года назад

      brew install grep
      alias grep='ggrep -P' # in .zshrc

  • @manuelapostol7664
    @manuelapostol7664 4 года назад +1

    THANK YOU SO MUCH

  • @patriciamirelladasilvascar1011
    @patriciamirelladasilvascar1011 3 года назад

    That's a great video!

  • @MrJaylassiter
    @MrJaylassiter 4 года назад +1

    Thank you!

  • @ManishKumar-ou5mo
    @ManishKumar-ou5mo 5 лет назад

    Corey bhaiya ki jai ho... :D

  • @martintouko8359
    @martintouko8359 2 года назад

    fantastic thanks . god bless man!!!

  • @trumanhw
    @trumanhw 4 года назад

    -B = before
    -A = after
    can you combine the -winBA (which is also C except B and A would let you specify the amount of lines before or after, which could be useful) ... also, are arguments considered boolean..?

  • @tinacole1450
    @tinacole1450 3 года назад

    for bash/command line how to match two different files and print results? I cannot find any example of this online

  • @acs3985
    @acs3985 4 года назад

    how did you colour your Mac terminal for text and directory, as mine is only dual colour one for background and one for text

  • @Gaplix
    @Gaplix 6 лет назад +3

    i luv this guy

  • @rotamagzine
    @rotamagzine 6 лет назад +3

    You are the best

  • @sam2223
    @sam2223 3 года назад

    your videos are great

  • @ghost31313
    @ghost31313 Год назад

    thank you very well done

  • @Lumary
    @Lumary 5 лет назад +1

    awesome,thank you! :)