How to trim the leading zeroes in a Currency field ?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to trim the leading zeroes in a Currency field ?
# 15  
Old 05-29-2007
Quote:
Originally Posted by Amruta Pitkar
Hello ghostdog74

I get the follow. error when I try to implement ur awk script.

awk: 0602-521 There is a regular expression error.
*?+ not preceded by valid expression
The source line number is 1.
The error context is
$4 ~ >>> /^+/{ <<<

Pls. guide.
what's the actual code you have. ( i am also using gnu awk). Otherwise,you can try the other solutions other good people have posted.
# 16  
Old 05-29-2007
Power How to trim the leading zeroes in a Currency field ?

Dear ghostdog

Thanks for you explanation,but i beg your parden if you please explain the use of ~(tild) in your code

why you used

awk '$4 ~ /^+/{...}'

Thanks
Regards,
Pankaj
# 17  
Old 05-29-2007
Quote:
Originally Posted by panknil
Dear ghostdog

Thanks for you explanation,but i beg your parden if you please explain the use of ~(tild) in your code

why you used

awk '$4 ~ /^+/{...}'

Thanks
Regards,
Pankaj
its all in the man page. pls check man awk.
Quote:
~ !~ Regular expression match, negated match. NOTE: Do not use a constant regular expression
(/foo/) on the left-hand side of a ~ or !~. Only use one on the right-hand side. The
expression /foo/ ~ exp has the same meaning as (($0 ~ /foo/) ~ exp). This is usually
not what was intended.
# 18  
Old 05-29-2007
One more correction in my sed command. I found a minor issue. This is the final version

sed 's/[+-]0*\(..*\...*\)/\1/g' file
# 19  
Old 05-29-2007
Hello ghostdog,
I am using this :
awk '$4 ~ /^+/{ sub(/^\+0+/,"",$4) }{print $0}' MyFile.txt

But it is still giving me the foll. error.
awk: 0602-521 There is a regular expression error.
*?+ not preceded by valid expression
The source line number is 1.
The error context is
$4 ~ >>> /^+/{ <<<
# 20  
Old 05-29-2007
can you try nawk instead?
Code:
nawk '$4 ~ /^+/{ sub(/^\+0+/,"",$4) }{print $0}' file

# 21  
Old 05-29-2007
Bug How to trim the leading zeroes in a Currency field ?

Dear Amruta Pitkar,

The code
awk '$4 ~ /^+/{ sub(/^\+0+/,"",$4) }{print $0}' MyFile.txt
is working fine.there is no prob with this code...
i think you r doing some mistake by your own.
just check your input file.
else just copy this for your input file

Your bill of +00002780.96 for a/c no. 25287324 is due on 11-06.
Your bill of +00422270.48 for a/c no. 28931373 is due on 11-06.

save it and execute it...this is working fine...

Regards,
Pankaj
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Pad zeroes first field in a Delimited file

Need help. I tried using an awk command to pad zeroes. Unfortunately, the "|" pipe delimited character is gone when I tried to write the records to another file. awk -F \| ' {$1=sprintf("%06s", $1); print $0}' $CUSTFINAL2 > $CUSTFINAL3 BEFORE "KEYRECORD"|"SA ID"|"PER ID"|"SP ID"|"ACCT... (3 Replies)
Discussion started by: johnhips
3 Replies

2. Shell Programming and Scripting

awk and leading zeroes

I have the following script that renames filenames like: blah_bleh_91_2011-09-26_00.05.43AM.xls and transforms it in: 91_20110926_000543_3_blih.xls for a in *.xls; do b="$(echo "${a}" | cut -d '_' -f4)" dia=`echo ${b} | cut -c9-10` mes=`echo ${b} | cut -c6-7` anio=`echo ${b} | cut -c1-4`... (4 Replies)
Discussion started by: Tr0cken
4 Replies

3. Shell Programming and Scripting

Remove leading zeroes in 2nd field using sed

Hi Forum. I tried searching the forum but couldn't find a solution for my question. I have the following data and would like to have a sed syntax to remove the leading zeroes from the 2nd field only: Before: 2010-01-01|123|1|1000|2000|500|1500|600|700... (18 Replies)
Discussion started by: pchang
18 Replies

4. Shell Programming and Scripting

sed not removing leading zeroes

I have th following file 0000000011 0000000001 0000000231 0000000001 0000000022 noow when i run the following command sed 's/^0+//g' file name I receive the same output and the leading zeroes are not removed from the file . Please let me know how to achieve... (4 Replies)
Discussion started by: asalman.qazi
4 Replies

5. Shell Programming and Scripting

insert leading zeroes based on the character count

Hi, I need add leading zeroes to a field in a file based on the character count. The field can be of 1 character to 6 character length. I need to make the field 14bytes. eg: 8351,20,1 8351,234,6 8351,2,0 8351,1234,2 8351,123456,1 8351,12345,2 This should become. ... (3 Replies)
Discussion started by: gpaulose
3 Replies

6. Shell Programming and Scripting

Trim leading zeros to make field 6 characters long

Hi all- I've got a file that will have multiple columns. In one column there will be a string that is 10 digits in length, but I need to trim the first four zeros to make it 6 characters? example: 0000001234 0000123456 0000234566 0000000321 output: 001234 123456 234566 000321 (5 Replies)
Discussion started by: Cailet
5 Replies

7. Programming

how to check and remove leading zeroes from the buffer using c program

Helo , I m writing small module of c.on RHEL 4 I have one buffer (for e.g. buffer = "002" now I want to check whethere buffer contains leading zeroes and if it contains leading zeroes then I want to remove all leading zeroes ( i.e. if buffer = "002" then I want to make buffer = "2") how... (1 Reply)
Discussion started by: amitpansuria
1 Replies

8. UNIX for Dummies Questions & Answers

How to left trim padded zeroes

I have a filename 'INITIATE_FINAL_ALL_000080889.dat', and I want to capture just the number '80889' from it. Here is what I have so far: %> echo INITIATE_FINAL_ALL_000080889.dat | sed "s/*//g" 000080889 Now, I just need to trim off the padded zeroes. Thanks, - CB (3 Replies)
Discussion started by: ChicagoBlues
3 Replies

9. Shell Programming and Scripting

Add leading zeroes to numbers in a file

Hello, I am (trying) to write a script that will check to see how many users are logged on to my machine, and if that number is more than 60 I need to kill off all the oldest sessions that are over 60. So far I have been able to check how many users are on and now I am at the part where I have to... (3 Replies)
Discussion started by: raidzero
3 Replies

10. UNIX for Dummies Questions & Answers

trim leading zero in certain column in a string

I would like to know how to trim leading zero only in certain column of of a string, example: hdhshdhdhd000012mmmm0002abc <===== before hdhshdhdhd 12mmmm 2abc <===== after Thanks for your help. (2 Replies)
Discussion started by: dngo
2 Replies
Login or Register to Ask a Question