Removing leading zeros for a decimal column


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Removing leading zeros for a decimal column
# 1  
Old 02-25-2011
Removing leading zeros for a decimal column

removing leading zeros for a decimal column in a file which has string & decimal values

Code:
,,,,,6630140,XXXXXXXXXXXXXXX, 0020.00,USA
,,,,,6630150,XXXXXXXXXXXXXXXL (xyz, 0010.00,USA
,,,,,6630150,XXXXXXXXXXXXXXX(xyz), 1300.00,USA

My file contains 9 columns. Out 9 columns, 8th column contains the decimal/integer values.

In my requirement, i just need to remove the leading zero from the integer column. say for example
Code:
0020.00 should be converted into 20.00
0010.00 should be converted into 10.00
1300.00 should be the same 1300.00

I tried the below command in unix. But, it didn't work for my requirement.

Code:
sed 's/^[0].*//' sample.txt

It works well for 0020 or 0010. The above command converts 0020 to 20 and 0010 to 10. But, when there is a fraction in the number, the above one is not working.

Any suggestions?

Thanks,
N

Last edited by radoulov; 02-25-2011 at 06:06 PM.. Reason: Code tags, please!
# 2  
Old 02-25-2011
Code:
nawk -F, '$8=sprintf("%.2f", $8)' OFS=, myFile

# 3  
Old 02-25-2011
Using sed:
Code:
sed -e 's/, *0*\./,0./' -e 's/, *0.*\([1-9]\)/,\1/' inp_file

# 4  
Old 02-25-2011
PHP

If i use this code
Code:
sed -e 's/, *0*\./,0./' -e 's/, *0.*\([1-9]\)/,\1/' sample.txt
00125
0245

If i use this code
Code:
nawk -F, '$8=sprintf("%.2f", $8)' OFS=, sample.txt
00125,,,,,,,0.00
0245,,,,,,,0.00
0000546.0215,,,,,,,0.00

Not working as expected

Last edited by Scott; 02-25-2011 at 08:24 PM.. Reason: Please use code tags (and indent your code)
# 5  
Old 02-25-2011
Code:
bash-2.05$ cat mar.txt
,,,,,6630140,XXXXXXXXXXXXXXX, 0020.00,USA
,,,,,6630150,XXXXXXXXXXXXXXXL (xyz, 0010.00,USA
,,,,,6630150,XXXXXXXXXXXXXXX(xyz), 1300.00,USA
bash-2.05$
bash-2.05$
bash-2.05$ nawk -F, '$8=sprintf("%.2f", $8)' OFS=, mar.txt
,,,,,6630140,XXXXXXXXXXXXXXX,20.00,USA
,,,,,6630150,XXXXXXXXXXXXXXXL (xyz,10.00,USA
,,,,,6630150,XXXXXXXXXXXXXXX(xyz),1300.00,USA

This User Gave Thanks to vgersh99 For This Post:
# 6  
Old 02-25-2011
treat you data like this:

Code:
 echo "0020.00
0000546.0215" |awk '{print $1*1 FS $2}' FS=.
20.00
546.0215

# 7  
Old 02-25-2011
Quote:
Originally Posted by vgersh99
Code:
bash-2.05$ cat mar.txt
,,,,,6630140,XXXXXXXXXXXXXXX, 0020.00,USA
,,,,,6630150,XXXXXXXXXXXXXXXL (xyz, 0010.00,USA
,,,,,6630150,XXXXXXXXXXXXXXX(xyz), 1300.00,USA
bash-2.05$
bash-2.05$
bash-2.05$ nawk -F, '$8=sprintf("%.2f", $8)' OFS=, mar.txt
,,,,,6630140,XXXXXXXXXXXXXXX,20.00,USA
,,,,,6630150,XXXXXXXXXXXXXXXL (xyz,10.00,USA
,,,,,6630150,XXXXXXXXXXXXXXX(xyz),1300.00,USA

When I am trying it is not working the error it is giving is
Code:
$ nawk -F, '$8=sprintf("%.2f", $8)' OFS=, teat.txt
nawk: can't open file teat.txt
 source line number 1
$


Last edited by Scott; 02-25-2011 at 08:27 PM.. Reason: Code tags
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Fixed with file- removing leading zeros and adding the space

Hi All, i have a fixed width file , where each line is 3200 length. File: 1ABC 1111 2222 3333 000012341 1001 2ABC 1111 2222 3333 000012342 1002 3ABC 1111 2222 3333 000112343 1003 1DEF 5555 4444 9696 000012344 1004 2DEF 5555 2323 8686 000012345 1005 3DEF 5555 1212 7676 000012346 1006 ... (1 Reply)
Discussion started by: mechvijays
1 Replies

2. Shell Programming and Scripting

Help deleting leading zeros in a file

I have a list of numbers extracted and need to delete the leading zeros from them, but when i do so, the command I am using also deletes numbers that end in Zero as well. eg 10, 20, 30, etc this is part of a larger script and the only way I can think of is to try and detect the 10,20 30 etc in... (19 Replies)
Discussion started by: kcpoole
19 Replies

3. Shell Programming and Scripting

Numbers with leading zeros

Hi, i have a variable which conatins values like 00001,0003,00067,00459. I want to use the values one by one and in the same form as they are like 00001,0003,00067,00459. Also can anyone tell me how to increment those numbers by 1,keeping the format as same like 00002,0004,00068,00460.... (5 Replies)
Discussion started by: arijitsaha
5 Replies

4. Shell Programming and Scripting

Help with adding leading zeros to a filename

Hi i need help in adding leading zero to filenames e.g file name in my folder are 1_234sd.txt 23_234sd.txt the output i need is 001_234sd.txt 023_234sd.txt can i do this shell scripting please help (2 Replies)
Discussion started by: rsmpk
2 Replies

5. UNIX for Dummies Questions & Answers

Triml leading zeros in unix

Hi All, How does one trim leading zero's in unix Thanks KP. (7 Replies)
Discussion started by: kingofprussia
7 Replies

6. Shell Programming and Scripting

Help needed in padding leading zeros

Hi all, I have file with numeric values. I need to pad each value with leading zeros such that total lenght of each value is 16. Example: cat tmp.txt 502455 50255 5026 5027 5028 Output 0000000000502455 0000000000050255 0000000000005026 0000000000005027 0000000000005028 Any... (12 Replies)
Discussion started by: jakSun8
12 Replies

7. Shell Programming and Scripting

Removing leading zeros from a variable

How do I remove or add leading zeroa from a variable. To make variable 10 characters long when adding zeros. (6 Replies)
Discussion started by: toshidas2000
6 Replies

8. Shell Programming and Scripting

truncating leading zeros of a column in a file

Hi I have a file in which I have 5 columns which are delimited by “|” as shown ABC|12|YAK|METRIC|000000019.5 XYZ|10|ABX|META|000000002.5 Now my requirement is to take the last column trim the leading zero's for that column values and write back to the same file in the same... (7 Replies)
Discussion started by: nvuradi
7 Replies

9. Shell Programming and Scripting

how to retain leading zeros

Hi All, I am working with a fixed width file Forrmat. C1 Number (10,3) C2 Number (10,3) e.g. c1= 0000000100.000 c2= 0000000020.000 0000000100.0000000000020.000 I have to perform c1 - c2 . i.e. I want answer to be 0000000080.000. but I am loosing the leading zeros( only getting... (3 Replies)
Discussion started by: Manish Jha
3 Replies

10. Shell Programming and Scripting

Leading zeros

How to insert leading zeros into a left-justisfied zip code? e.g. Zip code is written as 60320 which is left-justified to make it be read as 0060320. We have to move it to right-justifiable then insert 2 leading zeros into it... ;) (1 Reply)
Discussion started by: wtofu
1 Replies
Login or Register to Ask a Question