Date: Thu, 13 Sep 2007 20:35:04 +0200 From: Roland Smith <rsmith@xs4all.nl> To: Kurt Buff <kurt.buff@gmail.com> Cc: freebsd-questions@freebsd.org Subject: Re: Scripting question Message-ID: <20070913183504.GC11683@slackbox.xs4all.nl> In-Reply-To: <a9f4a3860709131016w54c12b6fy94fc2b0f286aea3d@mail.gmail.com> References: <a9f4a3860709131016w54c12b6fy94fc2b0f286aea3d@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
--+xNpyl7Qekk2NvDX Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable On Thu, Sep 13, 2007 at 10:16:40AM -0700, Kurt Buff wrote: > I'm trying to do some text file manipulation, and it's driving me nuts. >=20 > I've got a sorted file of SMTP addresses, and want to eliminate the > lines that are the same up to a space character within the line. >=20 > Example: >=20 > kurt.buff@gmail.com NO > kurt.buff@gmail.com OK >=20 > The above lines *both* need to be eliminated from output - I don't > want the first or second of them, I want them both gone. >=20 > I've looked at sort and uniq, and I've googled a fair bit but can't > seem to find anything that would do this. >=20 > I don't have the perl skills, though that would be ideal. >=20 > Any help out there? #!/usr/bin/perl while (<>) { # Assuming no whitespace in addresses; kill everything after the first = space s/ .*$//; # Store the name & count in a hash $names{$_}++; } # Go over the hash while (($name,$count) =3D each(%names)) { if ($count =3D=3D 1) { # print unique names. print $name, "\n"; } } Roland --=20 R.F.Smith http://www.xs4all.nl/~rsmith/ [plain text _non-HTML_ PGP/GnuPG encrypted/signed email much appreciated] pgp: 1A2B 477F 9970 BA3C 2914 B7CE 1277 EFB0 C321 A725 (KeyID: C321A725) --+xNpyl7Qekk2NvDX Content-Type: application/pgp-signature Content-Disposition: inline -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.4 (FreeBSD) iD8DBQFG6YLYEnfvsMMhpyURAiv6AJsGXozQdA5OcHngIRYEcL+gPe6VmQCfZZlq G5zqSImgD3wp09IqEBj9v4s= =QW1X -----END PGP SIGNATURE----- --+xNpyl7Qekk2NvDX--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20070913183504.GC11683>