i have file postal codes , city names :
1234 foo 4321 foobar 64324 foofoobar 92001 bar with \t between numbers , city name. add prefix 0 each line 4 numbers, using sed or shell script
01234 foo 04321 foobar 64324 foofoobar 92001 bar thanks help.
assuming postcodes numeric, can use printf command in awk task, per following transcript (the v characters there show tab stops are):
pax> printf "v\tv\tv\n" ; cat infile v v v 1234 rio xyz 4321 munich abc 64324 perth def 92001 paris qqq pax> awk 'begin {ofs = "\t"} {arg1 = $1; $1 = ""; printf "%05d%s\n", arg1, $0}' infile 01234 rio xyz 04321 munich abc 64324 perth def 92001 paris qqq the awk command first extracts and removes first argument(a) each line, formats along changed line.
you'll notice i've set output field separator tab character since appears you're using. may not necessary, depends on how closely want output data match input.
(a) technically sets empty string, argument still exists. that's why there's no tab needed between %05d , %s in format string, since tab still there.
Comments
Post a Comment