#----------------------------------------------------------------------------- # grep.py #----------------------------------------------------------------------------- import sys import re #---------------------------------- def grep(patt, f): p = re.compile(patt) for line in f: m = p.search(line) if m: print line, # the comma prevents print from adding an extra newline f.close() #---------------------------------- # Main program nargs = len(sys.argv) - 1 if(nargs < 1): print >>sys.stderr, "usage: pattern [file]" elif(nargs == 1): grep(sys.argv[1], sys.stdin) else: f = open(sys.argv[2],'r') if f: grep(sys.argv[1], f) #----------------------------------------------------------------------------- # hash.py #----------------------------------------------------------------------------- import sys d = {} for line in sys.stdin: a = line.split() if d.has_key(a[0]): d[a[0]] += int(a[1]) else: d[a[0]] = int(a[1]) for key in d.keys(): print "%-15s %5s" % (str(key), d[key]) #----------------------------------------------------------------------------- # sort.py #----------------------------------------------------------------------------- import sys h = {} for line in sys.stdin: if(len(line) > 1): wt = line.split()[5] h[wt] = line[:-1] # remove trailing newline list = h.keys() list.sort() for key in list: print h[key]