Commit 8566e474 authored by Guido van Rossum's avatar Guido van Rossum

Added pgrep() function, which is like grep/egrep/emgrep but uses Perl

syntax, by virtue of the new re module.
parent b4914424
......@@ -38,6 +38,24 @@ def ggrep(syntax, pat, files):
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:
......
......@@ -38,6 +38,24 @@ def ggrep(syntax, pat, files):
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:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment