Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 14 May 2001 10:07:14 -0500
From:      Tom ONeil <tom.oneil@tacni.com>
To:        Free <freebsd-isp@freebsd.org>
Subject:   sed question - the fix. Many thanks to all!
Message-ID:  <3AFFF4A2.EEEBB0CF@tacni.com>

next in thread | raw e-mail | index | archive | help


  I received so many great responses I thought I'd cat them all together
in one post.
Many mega thanks to all.

   The Question;

Greetings All;
 
 I have a script that handles our pop numbers and it requires I change
the format of a large poplist we use for input.

 This is the format - CA,Anaheim,714,408,4411
 and what I need is - CA,Anaheim,714-408-4411
because I don't enough perl to modify the script and I can't figure out
how use sed to do it.

 awk will do the substitution, but removes the first 2 commas in the
process.
awk -F, '{print $1,$2,$3,-$4,-$5}' poplist

  Thoughts? snippets of code?

                        Tom


Glenn foster
awk -F , '{print $1","$2","$3"-"$4"-"$5}'
Rowan Crowe
awk -F, '{print $1 "," $2 "," $3 "-" $4 "-" $5}' poplist

Andy
#!/usr/local/bin/perl
while (<STDIN>) {
 ($a,$b,$c,$d,$e) = split /,/;
 print "$a,$b,$c-$d-$e";
}

then do:-

$ cat oldfile | prog > newfile

where "prog" is the name of the perl script
holding those lines at the start of this email.

Regards
Andy

#!/usr/bin/perl
use strict;

my $file = "/patch/to/database";

open  FILE, $file;
while (<FILE>) {
        chomp;
        my @arr = split(/([A-Z]+)\,([a-zA-z]+)\,(\d+)\,(\d+)\,(\d+)/o,
$_); shift(@arr);
        print $arr[0] . "," . $arr[1] . "," . $arr[2] . "-" . $arr[3] .
"-" . $arr[4] . "\n";
}
close FILE

Best regards,
Alexei V. Alexandrov

awk -F, '{print $1 "," $2 "," $3 "-" $4 "-" $5}' < poplist


Enno.

bash-2.05# cat blah
CA,Anaheim,714,408,4411
 
bash-2.05# cat blah | sed 's/\([0-9]\),\([0-9]\)/\1-\2/g'
CA,Anaheim,714-408-4411

it matches a "," surrounded by numbers and replaces the comma with a
dash.

Hope this helps.

andys


-- 
		Thomas J. ONeil tom.oneil@tacni.net
		    http://www.tacni.net/
	         "National power, local presence"

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isp" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?3AFFF4A2.EEEBB0CF>