awk script

Dear All,

i have a awk script and where i want to do all the operation in inside the awk script itself...like i have to pick a certain column then have to delete the trailing space of that column and then have to proceed...

i have tried with sub function but every time i'm getting wrong out put

for e.g.

myfile name is XYZ.txt

here the data of the file

6622880188|2 |5265510105746
6461082164|3 |5265510105746

inside the awk script i want to pick the 2nd field and want to delete the trailing space of 2nd filed.

can any body plz help...

i'm placing my sample script also

awk -v DATE="$CURRDATE" -F'|' 'BEGIN {
while(( getline < "XYZ.txt" ))
{
VALUE=$2 sub(/[ \t]+$/,VALUE "")
print VALUE
.......
.......
}

}' >> FILE_OUT_FINAL.txt

thanks,
Regards,
Pankaj

GNU awk

awk 'BEGIN{FS="[| ]"} {print $2, length($2)}' file

or

awk 'BEGIN{FS="|"}
{ 
 sub(/ +/,"",$2)
 print $2
}
' file

Dear ghostdog,

thanks for ur reply...
but i'm getting one problemm here...its giving extra number 1
e.g

2
1

3
1

4
1

like this

i'm really soory but i'm not getting the problem. can u plz help?

Thanks,
Regards,
Pankaj

Dear ghostdog,

after deleting the spaces of the 2nd field the delimiter of the file getting changed...
i want to keep the delimiter as it was

plz help regarding this...

Thanks,
Regards,
Pankaj

use the following:
awk 'BEGIN{FS="[| ]"} {print $2}' file

If you have one space in your file:

awk '{print $1$2}' file

Regards

Use OFS. Read here for more info. Then try to put it inside this code. Have a shot at it. good luck

awk 'BEGIN{FS="|"}
{
 sub(/ +/,"",$2)
 print $0
}
' file1