home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / hcshdemo.zip / csh-os2.zip / SAMPLES / TS.CSH < prev    next >
Text File  |  1993-09-28  |  983b  |  26 lines

  1. #    Search for occurrences of a simple string in all the files with a
  2. #    given extension anywhere in a directory tree.
  3.  
  4. #    Copyright (c) 1990-1992 by Hamilton Laboratories.  All rights reserved.
  5.  
  6. #    ts works by pushing the directory to be searched onto the directory
  7. #    stack making it the current disk and directory.  ls and grep are used
  8. #    to recursively list all files (not directories) any where in the tree
  9. #    that end with .ext where ext is whatever the caller requests.   Assuming
  10. #    there are some files, fgrep is used to search them, ignoring character
  11. #    case and showing line numbers.  The test is needed since calling fgrep
  12. #    without a filename argument would cause it to try to read stdin.  The
  13. #    text argument is inside double quotes in case the search text is more
  14. #    than one word.
  15.  
  16. proc ts(startdir,ext, text)
  17.  
  18.   pushd -s $startdir
  19.   set files = `ls -rD1 | grep -i \.$ext^$`
  20.   if (files != '') fgrep -in "$text" $files | more
  21.   popd -s
  22.  
  23. end
  24.  
  25. ts $argv
  26.