diff options
author | Fred Drake <fdrake@acm.org> | 1999-07-01 16:59:29 +0000 |
---|---|---|
committer | Fred Drake <fdrake@acm.org> | 1999-07-01 16:59:29 +0000 |
commit | b5879ca2e93564545fd684572b9be816ede7d27f (patch) | |
tree | cfacf99bffc99c8feb91eb78e126112991abc558 /Lib/grep.py | |
parent | 85b5683307edae77670743437909e0aa91acd4f3 (diff) | |
download | cpython-git-b5879ca2e93564545fd684572b9be816ede7d27f.tar.gz |
Relocating file to Lib/lib-old.
Diffstat (limited to 'Lib/grep.py')
-rw-r--r-- | Lib/grep.py | 80 |
1 files changed, 0 insertions, 80 deletions
diff --git a/Lib/grep.py b/Lib/grep.py deleted file mode 100644 index 423c065af7..0000000000 --- a/Lib/grep.py +++ /dev/null @@ -1,80 +0,0 @@ -# 'grep' - -import regex -from regex_syntax import * -import string - -opt_show_where = 0 -opt_show_filename = 0 -opt_show_lineno = 1 - -def grep(pat, *files): - return ggrep(RE_SYNTAX_GREP, pat, files) - -def egrep(pat, *files): - return ggrep(RE_SYNTAX_EGREP, pat, files) - -def emgrep(pat, *files): - return ggrep(RE_SYNTAX_EMACS, pat, files) - -def ggrep(syntax, pat, files): - if len(files) == 1 and type(files[0]) == type([]): - files = files[0] - global opt_show_filename - opt_show_filename = (len(files) != 1) - syntax = regex.set_syntax(syntax) - try: - prog = regex.compile(pat) - finally: - syntax = regex.set_syntax(syntax) - for filename in files: - fp = open(filename, 'r') - lineno = 0 - while 1: - line = fp.readline() - if not line: break - lineno = lineno + 1 - if prog.search(line) >= 0: - showline(filename, lineno, line, prog) - fp.close() - -def pgrep(pat, *files): - if len(files) == 1 and type(files[0]) == type([]): - files = files[0] - global opt_show_filename - opt_show_filename = (len(files) != 1) - import re - prog = re.compile(pat) - for filename in files: - fp = open(filename, 'r') - lineno = 0 - while 1: - line = fp.readline() - if not line: break - lineno = lineno + 1 - if prog.search(line): - showline(filename, lineno, line, prog) - fp.close() - -def showline(filename, lineno, line, prog): - if line[-1:] == '\n': line = line[:-1] - if opt_show_lineno: - prefix = string.rjust(`lineno`, 3) + ': ' - else: - prefix = '' - if opt_show_filename: - prefix = filename + ': ' + prefix - print prefix + line - if opt_show_where: - start, end = prog.regs()[0] - line = line[:start] - if '\t' not in line: - prefix = ' ' * (len(prefix) + start) - else: - prefix = ' ' * len(prefix) - for c in line: - if c <> '\t': c = ' ' - prefix = prefix + c - if start == end: prefix = prefix + '\\' - else: prefix = prefix + '^'*(end-start) - print prefix |