“Find in Files” functionality from a bash shell

jminadeo's picture

Since I always forget how to do this I thought I’d just post it here :-)

This information is taken from http://www.athabascau.ca/html/depts/compserv/webunit/HOWTO/find.htm#EX03 and is certainly more detailed then what I will post. So without further ado, :

Scenario 1: You want to find all files that contain the string “primary” in the current directory:

find . -exec grep -q "primary" '{}' \; -print

and it will yield something like:

./fix-ie.css
./page.tpl.php
./print.css
./style-rtl.css
./style.css
./template.php

 

Scenario 2: You want to find all files that contain the string “primary” in the current directory and list the lines that contain your search term:

find . -exec grep "primary" '{}' \; -print

and it will yield something like (ignore the color coding…) :

p "primary" '{}' \; -print
ul.primary {
./fix-ie.css
        <?php if (isset($primary_links)) : ?>
          <?php print theme('links', $primary_links, array('class' => 'links pri
mary-links')) ?>
          <?php if ($tabs): print '<ul class="tabs primary">'. $tabs .'</ul></di
v>'; endif; ?>
./page.tpl.php
ul.primary-links, ul.secondary-links,
./print.css
ul.primary-links {
ul.primary-links li {
ul.primary {
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:
visited,
ul.primary li a:after {
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:
visited,
./style-rtl.css
ul.primary-links {
ul.primary-links li {
ul.primary-links li a, ul.primary-links li a:link, ul.primary-links li a:visited
 {
ul.primary-links li a:hover, ul.primary-links li a.active {
ul.primary, ul.primary li, ul.secondary, ul.secondary li {
ul.primary {
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:
visited,
ul.primary li.active a, ul.primary li.active a:link, ul.primary li.active a:visi
ted, ul.primary li a:hover,
ul.primary li.active a,
./style.css
  return menu_primary_local_tasks();
./template.php
(uiserver):u37978795:~/hosted/drupal.monkk.com/themes/garland > find . -exec gre
p "primary" '{}' \; -print
ul.primary {
./fix-ie.css
        <?php if (isset($primary_links)) : ?>
          <?php print theme('links', $primary_links, array('class' => 'links pri
mary-links')) ?>
          <?php if ($tabs): print '<ul class="tabs primary">'. $tabs .'</ul></di
v>'; endif; ?>
./page.tpl.php
ul.primary-links, ul.secondary-links,
./print.css
ul.primary-links {
ul.primary-links li {
ul.primary {
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:
visited,
ul.primary li a:after {
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:
visited,
./style-rtl.css
ul.primary-links {
ul.primary-links li {
ul.primary-links li a, ul.primary-links li a:link, ul.primary-links li a:visited
 {
ul.primary-links li a:hover, ul.primary-links li a.active {
ul.primary, ul.primary li, ul.secondary, ul.secondary li {
ul.primary {
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:
visited,
ul.primary li.active a, ul.primary li.active a:link, ul.primary li.active a:visi
ted, ul.primary li a:hover,
ul.primary li.active a,
./style.css
  return menu_primary_local_tasks();
./template.php
(uiserver):u37978795:~/hosted/drupal.monkk.com/themes/garland > find . -exec gre
p -q "primary" '{}' \; -print
./fix-ie.css
./page.tpl.php
./print.css
./style-rtl.css
./style.css
./template.php
(uiserver):u37978795:~/hosted/drupal.monkk.com/themes/garland > less page.tpl.ph
p
(uiserver):u37978795:~/hosted/drupal.monkk.com/themes/garland > find . -exec gre
p -q "primary" '{}' \; -print
./fix-ie.css
./page.tpl.php
./print.css
./style-rtl.css
./style.css
./template.php
(uiserver):u37978795:~/hosted/drupal.monkk.com/themes/garland > find . -exec gre
p "primary" '{}' \; -print
ul.primary {
./fix-ie.css
        <?php if (isset($primary_links)) : ?>
          <?php print theme('links', $primary_links, array('class' => 'links pri
mary-links')) ?>
          <?php if ($tabs): print '<ul class="tabs primary">'. $tabs .'</ul></di
v>'; endif; ?>
./page.tpl.php
ul.primary-links, ul.secondary-links,
./print.css
ul.primary-links {
ul.primary-links li {
ul.primary {
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:
visited,
ul.primary li a:after {
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:
visited,
./style-rtl.css
ul.primary-links {
ul.primary-links li {
ul.primary-links li a, ul.primary-links li a:link, ul.primary-links li a:visited
 {
ul.primary-links li a:hover, ul.primary-links li a.active {
ul.primary, ul.primary li, ul.secondary, ul.secondary li {
ul.primary {
ul.primary li a, ul.primary li.active a, ul.primary li a:hover, ul.primary li a:
visited,
ul.primary li.active a, ul.primary li.active a:link, ul.primary li.active a:visi
ted, ul.primary li a:hover,
ul.primary li.active a,
./style.css
  return menu_primary_local_tasks();
./template.php

And there you have it, enjoy!

Trackback URL for this post:

http://blog.monkk.com/trackback/59

Comments

Anonymous's picture

The coding that you have

The coding that you have mentioned in your article has been really helpful to me and my site , you have been really creative in this job . I hope people would like to read more about this article of yours.

 

 

Dan Sheds