home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / k95 / rgrep.ksc < prev    next >
Text File  |  2020-01-01  |  999b  |  24 lines

  1. # Synopsis:      Recursive "grep" (search for pattern in files).
  2. # Instructsions: TAKE this file, which defines the RGREP macro.
  3. # Usage:         rgrep {<pattern>} {<filespec>}
  4. # Requires:      C-Kermit 7.0 later or K95 1.1.19 or later
  5. # Illustrates:   Recursive directory traversal, pattern matching.
  6. # Author:        F. da Cruz
  7. #                The Kermit Project, Columbia University
  8. #                July 1999; Updated Feb 2000 for K95.
  9. #
  10. # Both pattern and filespec may contain metacharacters.
  11. #
  12. define RGREP {
  13.     local f \%n \%i \&a[]
  14.     if < \v(argc) 2 stop 1 Usage: \%0 pattern [ filespec ]
  15.     if < \v(argc) 3 .\%2 = *
  16.     if > \v(argc) 3 echo Warning: Extra paramaters ignored: \%3...
  17.     .\%n := \frfiles(\fcont(\%2),&a) ; Recursive file list
  18.     for \%i 1 \%n 1 {                ; For each file
  19.     .f := \fcont(\&a[\%i])       ; List matching lines
  20.     type /nopage /match:{*\%1*} /prefix:{\m(f): } \m(f)
  21.     }
  22.     echo Use Page Up (\\Kupscn) to view material that scrolled off screen...
  23. }
  24.