So, I can't figure out how to do a previous question with printf, so I'm taking a different approach. Suppose I have a set of numbers:
I want to remove all trailing zeroes after the decimal, and, if it ends up orphaned, the decimal itself. That last bit's not so important; if just the trailing zeroes can be removed, I'm certain I can kill off orphaned decimals. My various attempts are, at best, weak partial solutions. I can remove trailing zeroes and a few other tricks, but all fall short. The only guarantees about the incoming data are 1) the first field will always be a positive integer and no field will have more than 6 digits after the decimal.
So, how in the world can I remove from each field (except the first, to which this need not apply) any trailing zeroes after the decimal? For what it's worth, after digging through the forum, I've found no working solutions. A method (gsub? looping gsub? idunno...) that works would give as output for the above line:
If at all possible, I'd like to do this within an awk script, although I don't object to a system call in a pinch. Also, when I run your solution, I get:
instead of:
Do you get the same on your system, or does it work there?
FWIW, the most promising (but still failed...) solution I can think of is to put a trailing comma on $0, and then apply up to 5 times something like:
gsub("0,",",",$0)
Unfortunately, that only works if there's a way to apply it only to those fields which contain a decimal point. The fact that this is a gsub applying to $0 makes that difficult, and the solution as written would turn, for example, 1200 into 120, then into 12 on a second application.
I have been trying to remove empty lines and lines just filled with spaces. I have used the following command which does work.
sed -i "/^\s*$/d"
Except it leaves one single trailing line at the very end of the file. For the life of me I cant figure out why I cant remove that last trailing... (2 Replies)
I have been given a shell script that I need to amend. To do the following
extract the filename from the flag file by removing the .flag extension.
# Local variables
# Find if the flag files exists
MASK=coda_mil2*.flag
# Are there any files?
bookmark="40"
fileFound=0
ls -1... (3 Replies)
Hi all,
I haven't needed to do any shell based editing for nearly 20 years, and no amount of searching around has found me a solution to this very simple problem :-(
I have a csv file.
Some lines have three commas at the end. This means the invoice hasn't been paid.
I'd like to use sed / grep... (4 Replies)
Hi
I have 3 files (say) in a folder as in the example below
abc_01012011.csv
def_01012011.csv
xyz_01012011.csv
I need to move these files to a different folder as follows
abc.csv
def.csv
xyz.csv
I am trying to put together a script with a for loop which reads the source filenames... (5 Replies)
Hello All,
I have a csv file with 3 columns. The file which looks like this
47850000,100,233
23560000,10000,456
78650000,560000,54
34000000,3456,3
The first column has 4 trailing zeros. I have to remove 4 trailing zeroes from 1st field. The output file should appear as follows.
... (12 Replies)
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)
Hi All,
I have a file with the following contents with multiple lines
172445957| 000005911|8| 400 Peninsula Ave.#1551 | And,K |935172445957|000005911
607573888 |000098536 | 2|Ane, B |J |Ane |1868 |19861206|20090106|20071001
I want to trim the "leading and trailing spaces only" from... (2 Replies)
We have a large number of oracle database related scripts that utilize the environment variables $ORACLE_SID and $DBNAME. In a single instance database the $ORACLE_SID is the same as the database name $DBNAME. So we have simply set DBNAME = $ORACLE_SID. However, now that we are clustering with RAC,... (5 Replies)