happytoday schreef:
> On Mar 2, 7:22 pm, Ted Davis <tda...@[EMAIL PROTECTED]
> wrote:
>> 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. (tda...@[EMAIL PROTECTED]
) 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=%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


|