For Programmers: Free Programming Magazines  


Home > Archive > AWK > March 2008 > filling left side of string









You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

 

Author filling left side of string
happytoday

2008-03-02, 6:58 pm

I am accepting a value entered from batch file using set /p command. I
need to add spaces to the left of the number entered inside an awk
script

nawk -v number=%number% -f test.awk test.dat


What function used to fill the left side of the number with spaces to
complete 7 characters as fixed length of any nymber entered.
Thanks
Ted Davis

2008-03-02, 6:58 pm

On Sun, 02 Mar 2008 08:39:46 -0800, happytoday wrote:

> I am accepting a value entered from batch file using set /p command. I
> need to add spaces to the left of the number entered inside an awk script
>
> nawk -v number=%number% -f test.awk test.dat
>
>
> What function used to fill the left side of the number with spaces to
> complete 7 characters as fixed length of any nymber entered. Thanks


You might like gawk better:
<http://gnuwin32.sourceforge.net/packages/gawk.htm>
The Windows version has a .hlp help file with lots of information.

You need printf() or sprintf(), depending on what you do with the padded
number.

printf "%7i", number

Note that you have to include a \n explicitly at the end of each line.


--

T.E.D. (tdavis@mst.edu) MST (Missouri University of Science and Technology)
used to be UMR (University of Missouri - Rolla).


happytoday

2008-03-03, 3:59 am

On Mar 2, 7:22=A0pm, Ted Davis <tda...@umr.edu> wrote:
> On Sun, 02 Mar 2008 08:39:46 -0800, happytoday wrote:
t[color=darkred]
>
>
>
> You might like gawk better:
> <http://gnuwin32.sourceforge.net/packages/gawk.htm>
> The Windows version has a .hlp help file with lots of information.
>
> You need printf() or sprintf(), depending on what you do with the padded
> number.
>
> =A0 printf "%7i", number
>
> Note that you have to include a \n explicitly at the end of each line.
>
> --
>
> T.E.D. (tda...@mst.edu) MST (Missouri University of Science and Technology=

)
> used to be UMR (University of Missouri - Rolla).


But I need to use the variable in comparing function not in printing.
So with the set /p I have only numbers without left leading spaces .
filenumber variable in file has left spaces. So I need to fill the
left side of the number with spaces till I reach 7 characters legnth.

Thanks

nawk -v number=3D%number% -f test.awk test.dat

filenumber=3Dsubstr($0,1,7)
if (filenumber=3Dnumber)
=2E...


Thanks
Luuk

2008-03-03, 7:58 am

happytoday schreef:
> On Mar 2, 7:22 pm, Ted Davis <tda...@umr.edu> wrote:
>
> But I need to use the variable in comparing function not in printing.
> So with the set /p I have only numbers without left leading spaces .
> filenumber variable in file has left spaces. So I need to fill the
> left side of the number with spaces till I reach 7 characters legnth.
>
> Thanks
>
> nawk -v number=%number% -f test.awk test.dat
>
> filenumber=substr($0,1,7)
> if (filenumber=number)
> ....
>
>
> Thanks


you should try something like:
echo -e '\n\n' | awk '{ x=sprintf("%7i", NR); print x; }'

and try to understand this, than you'll get the idea if what Ted wrote
(at least i hope you get it ;-)

another aproach might be to not compare ' 1' with ' x'
but do a numeric comparison

filenumber=substr($0,1,7)
if (0+filenumber==1*number)


--
Luuk
Ted Davis

2008-03-03, 7:58 am

On Sun, 02 Mar 2008 22:57:35 -0800, happytoday wrote:

> But I need to use the variable in comparing function not in printing. So
> with the set /p I have only numbers without left leading spaces .
> filenumber variable in file has left spaces. So I need to fill the left
> side of the number with spaces till I reach 7 characters legnth.


RTFM
if( string == sprintf "%7i", number ) do something

--
T.E.D. (tdavis@mst.edu)


Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com