Sponsored Content
Top Forums Shell Programming and Scripting Substituting comma "," for dot "." in a specific column when comma"," is a delimiter Post 302651355 by poliver on Tuesday 5th of June 2012 11:04:17 AM
Old 06-05-2012
Substituting comma "," for dot "." in a specific column when comma"," is a delimiter

Hi,

I'm dealing with an issue and losing a lot of hours figuring out how i would solve this.
I have an input file which looks like this:

Code:
('BLABLA +200-GRS','Serviço ','TarifaçãoServiço','wap.bla.us.0000000121',2985,0,55,' de conversão em escada','Dia','Domingos')
('BLABLA +200-GRR','Serviço ','TarifaçãoServiço','wap.bla.us.0000000121',2985,0,55,' de conversão em escada','Reduzido','Sábados')
('BLABLA 45-GPR','Serviço ','TarifaçãoServiço','canais.bla.us.0000000222',3073,0,' de conversão de diferença','Noite','Sábados')
('BLABLA 45-GPR','Serviço ','TarifaçãoServiço','canais.bla.us.0000000222',3073,0,' de conversão de diferença','Noite','Segunda - Sexta')
('BLABLA 35-GMS','Serviço','TarifaçãoServiço','VC3 XXXX YYY-Fixo TIM(on)',3121,1,21,' de conversão em escada','Noite','Segunda - Sexta')
('BLABLA-GRN','Serviço','TarifaçãoServiço','Chamadas',1362,1,961,' de conversão em escada','Noite','Segunda - Sexta')
('BLABLA-GPE','Serviço','TarifaçãoServiço','Chamadas',1362,1,9897,' de conversão em escada','Dia Todo','Domingos')

So, sometimes i have 9 columns (if using comma delimiter) (lines 3 and 4) and sometimes i have 10 columns (lines 1,2,5,6,7)

I'd like to replace only this column, which is a number (decimal or not), for a dot... it will look like this:

0.55
0.55
0
0
1.21
1.961
1.9897

So, my final result should be like this:

Code:
('BLABLA +200-GRS','Serviço ','TarifaçãoServiço','wap.bla.us.0000000121',2985,0.55,' de conversão em escada','Dia','Domingos')
('BLABLA +200-GRR','Serviço ','TarifaçãoServiço','wap.bla.us.0000000121',2985,0.55,' de conversão em escada','Reduzido','Sábados')
('BLABLA 45-GPR','Serviço ','TarifaçãoServiço','canais.bla.us.0000000222',3073,0,' de conversão de diferença','Noite','Sábados')
('BLABLA 45-GPR','Serviço ','TarifaçãoServiço','canais.bla.us.0000000222',3073,0,' de conversão de diferença','Noite','Segunda - Sexta')
('BLABLA 35-GMS','Serviço','TarifaçãoServiço','VC3 XXXX YYY-Fixo TIM(on)',3121,1.21,' de conversão em escada','Noite','Segunda - Sexta')
('BLABLA-GRN','Serviço','TarifaçãoServiço','Chamadas',1362,1.961,' de conversão em escada','Noite','Segunda - Sexta')
('BLABLA-GPE','Serviço','TarifaçãoServiço','Chamadas',1362,1.9897,' de conversão em escada','Dia Todo','Domingos')

Any ideas of how should i do this?
I have one, which will not be very effective... and this file contains more than 16million lines Smilie

Thanks

Last edited by joeyg; 06-05-2012 at 12:07 PM.. Reason: Please wrap data and commands with CodeTags
 

9 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Explain the line "mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'`"

Hi Friends, Can any of you explain me about the below line of code? mn_code=`env|grep "..mn"|awk -F"=" '{print $2}'` Im not able to understand, what exactly it is doing :confused: Any help would be useful for me. Lokesha (4 Replies)
Discussion started by: Lokesha
4 Replies

2. Shell Programming and Scripting

"Join" or "Merge" more than 2 files into single output based on common key (column)

Hi All, I have working (Perl) code to combine 2 input files into a single output file using the join function that works to a point, but has the following limitations: 1. I am restrained to 2 input files only. 2. Only the "matched" fields are written out to the "matched" output file and... (1 Reply)
Discussion started by: Katabatic
1 Replies

3. Shell Programming and Scripting

awk command to replace ";" with "|" and ""|" at diferent places in line of file

Hi, I have line in input file as below: 3G_CENTRAL;INDONESIA_(M)_TELKOMSEL;SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL My expected output for line in the file must be : "1-Radon1-cMOC_deg"|"LDIndex"|"3G_CENTRAL|INDONESIA_(M)_TELKOMSEL"|LAST|"SPECIAL_WORLD_GRP_7_FA_2_TELKOMSEL" Can someone... (7 Replies)
Discussion started by: shis100
7 Replies

4. Shell Programming and Scripting

how to use "cut" or "awk" or "sed" to remove a string

logs: "/home/abc/public_html/index.php" "/home/abc/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" "/home/xyz/public_html/index.php" how to use "cut" or "awk" or "sed" to get the following result: abc abc xyz xyz xyz (8 Replies)
Discussion started by: timmywong
8 Replies

5. Solaris

The slices "usr", "opt", "tmp" disappeared!!! Help please.

The system don't boot. on the screen appears following: press enter to maintenance (or type CTRL-D to continue)...I checked with format command. ... the slices "0-root","1-swap","2-backup" exist. ...the slises "3-var","6-usr" -unassigned. :( (16 Replies)
Discussion started by: wolfgang
16 Replies

6. Shell Programming and Scripting

grep with "[" and "]" and "dot" within the search string

Hello. Following recommendations for one of my threads, this is working perfectly : #!/bin/bash CNT=$( grep -c -e "some text 1" -e "some text 2" -e "some text 3" "/tmp/log_file.txt" ) Now I need a grep success for some thing like : #!/bin/bash CNT=$( grep -c -e "some text_1... (4 Replies)
Discussion started by: jcdole
4 Replies

7. UNIX for Dummies Questions & Answers

Using "mailx" command to read "to" and "cc" email addreses from input file

How to use "mailx" command to do e-mail reading the input file containing email address, where column 1 has name and column 2 containing “To” e-mail address and column 3 contains “cc” e-mail address to include with same email. Sample input file, email.txt Below is an sample code where... (2 Replies)
Discussion started by: asjaiswal
2 Replies

8. Shell Programming and Scripting

Bash script - Print an ascii file using specific font "Latin Modern Mono 12" "regular" "9"

Hello. System : opensuse leap 42.3 I have a bash script that build a text file. I would like the last command doing : print_cmd -o page-left=43 -o page-right=22 -o page-top=28 -o page-bottom=43 -o font=LatinModernMono12:regular:9 some_file.txt where : print_cmd ::= some printing... (1 Reply)
Discussion started by: jcdole
1 Replies

9. AIX

Apache 2.4 directory cannot display "Last modified" "Size" "Description"

Hi 2 all, i have had AIX 7.2 :/# /usr/IBMAHS/bin/apachectl -v Server version: Apache/2.4.12 (Unix) Server built: May 25 2015 04:58:27 :/#:/# /usr/IBMAHS/bin/apachectl -M Loaded Modules: core_module (static) so_module (static) http_module (static) mpm_worker_module (static) ... (3 Replies)
Discussion started by: penchev
3 Replies
load_dat_font(3alleg4)						  Allegro manual					    load_dat_font(3alleg4)

NAME
load_dat_font - Loads a FONT from an Allegro datafile. SYNOPSIS
#include <allegro.h> FONT *load_dat_font(const char *filename, RGB *pal, void *param) DESCRIPTION
Loads a FONT from an Allegro datafile. You can set param parameter to point to an array that holds two strings that identify the font and the palette in the datafile by name. The first string in this list is the name of the font. You can pass NULL here to just load the first font found in the datafile. The second string can be used to specify the name of the palette associated with the font. This is only returned if the pal parameter is not NULL. If you pass NULL for the name of the palette, the last palette found before the font was found is returned. You can also pass NULL for param, which is treated as if you had passed NULL for both strings separately. In this case, the function will simply load the first font it finds from the datafile and the palette that precedes it. For example, suppose you have a datafile named `fonts.dat' with the following contents: FONT FONT_1_DATA FONT FONT_2_DATA FONT FONT_3_DATA PAL FONT_1_PALETTE PAL FONT_2_PALETTE Then the following code will load FONT_1_DATA as a FONT and return FONT_1_PALETTE as the palette: FONT *f; PALETTE pal; char *names[] = { "FONT_1_DATA", "FONT_1_PALETTE" } f = load_dat_font("fonts.dat", pal, names); If instead you want to load the second font, FONT_2, from the datafile, you would use: FONT *f; PALETTE pal; char *names[] = { "FONT_2_DATA", "FONT_2_PALETTE" } f = load_dat_font("fonts.dat", pal, names); If you want to load the third font, but not bother with a palette, use: FONT *f; char *names[] = { "FONT_3_DATA", NULL } f = load_dat_font("fonts.dat", NULL, names); RETURN VALUE
Returns a pointer to the font or NULL on error. Remember that you are responsible for destroying the font when you are finished with it to avoid memory leaks. SEE ALSO
register_font_file_type(3alleg4), load_font(3alleg4) Allegro version 4.4.2 load_dat_font(3alleg4)
All times are GMT -4. The time now is 05:19 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy