Cory Petkovsek wrote: > What is the limit on streams? > > Here's what I'm intending to do and perhaps someone has a better solution: > I have a list of email addresses for a virtual email host: > > [EMAIL PROTECTED] > [EMAIL PROTECTED] > [EMAIL PROTECTED] > [EMAIL PROTECTED] > [EMAIL PROTECTED] > > I want to group by domain, append an ' OK' and insert a '$domain REJECT' after > each domain block. The output should look like this: > > [EMAIL PROTECTED] OK > [EMAIL PROTECTED] OK > [EMAIL PROTECTED] OK > happy.com REJECT > [EMAIL PROTECTED] OK > blah.com REJECT > [EMAIL PROTECTED] OK > test.org REJECT
This seems like a task that is simple in Python or Perl, but less simple as a shell script. Assuming you have the first file above as stdin, either of the attached scripts produces the second file. -- Bob Miller K<bob> kbobsoft software consulting http://kbobsoft.com [EMAIL PROTECTED]
#!/usr/bin/env python
import fileinput
users = {}
for line in fileinput.input():
addr = line.strip()
domain = addr.split('@')[-1]
users.setdefault(domain, []).append(addr)
domains = users.keys()
domains.sort() # Sort domains so successive
# versions of this file can be
# diff'ed.
for domain in domains:
u = users[domain]
u.sort() # Sort users for the same reason.
for user in u:
print user, 'OK'
print domain, 'REJECT'
cory.pl
Description: Perl program
_______________________________________________ EuG-LUG mailing list [EMAIL PROTECTED] http://mailman.efn.org/cgi-bin/listinfo/eug-lug
