How to format file into comma separated text file?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How to format file into comma separated text file?
# 8  
Old 06-08-2011
I've corrected that in my next post. Try this one
Code:
 
perl -lane 'BEGIN{print "Header1,Header2,Header3,Header4"}print "$F[0],$F[1],$F[2] $F[3],$F[4]"' input

# 9  
Old 06-08-2011
Quote:
Originally Posted by getmmg
I've corrected that in my next post. Try this one
Code:
 
perl -lane 'BEGIN{print "Header1,Header2,Header3,Header4"}print "$F[0],$F[1],$F[2] $F[3],$F[4]"' input


Hi getmmg,

Yes this is fine with me. Thanks man!.

Now, I want to divide all the 2nd fields by 100. So if my 2nd field is 500 and divide it to 100 it will become 5. Or I want to remove the 2 zeros from the 2nd field.

INPUT:
Code:
Header1,Header2,Header3,Header4
500010245623,500,21-APR-11 05.58.21 PM,1       
500010245637,500,21-APR-11 05.58.21 PM,0       
500010245644,500,21-APR-11 05.58.21 PM,1       
500010245645,500,21-APR-11 05.58.21 PM,1       
500010245654,500,21-APR-11 05.58.21 PM,1       
500010245662,500,21-APR-11 05.58.21 PM,1       
500010245664,500,21-APR-11 05.58.21 PM,1       
500010245666,500,21-APR-11 05.58.21 PM,1       
500010245667,500,21-APR-11 05.58.21 PM,1       
500010245677,500,21-APR-11 05.58.21 PM,1       
500010245679,500,21-APR-11 05.58.21 PM,1


OUTPUT:
Code:
Header1,Header2,Header3,Header4
500010245623,5,21-APR-11 05.58.21 PM,1       
500010245637,5,21-APR-11 05.58.21 PM,0       
500010245644,5,21-APR-11 05.58.21 PM,1       
500010245645,5,21-APR-11 05.58.21 PM,1       
500010245654,5,21-APR-11 05.58.21 PM,1       
500010245662,5,21-APR-11 05.58.21 PM,1       
500010245664,5,21-APR-11 05.58.21 PM,1       
500010245666,5,21-APR-11 05.58.21 PM,1       
500010245667,5,21-APR-11 05.58.21 PM,1       
500010245677,5,21-APR-11 05.58.21 PM,1       
500010245679,5,21-APR-11 05.58.21 PM,1


Thanks in advance mate!

Br,
Pinpe
# 10  
Old 06-08-2011
Could you please post all your requirements at once an not change it every time someone provide you an answer ?

Thanks
This User Gave Thanks to ctsgnb For This Post:
# 11  
Old 06-08-2011
Sorry. This is my final requirement for this task. Thanks so much in advance.

Br,
Pete
# 12  
Old 06-08-2011
Code:
$ cat tst
500010245623                500 21-APR-11 05.58.21 PM                                                                1
500010245637                500 21-APR-11 05.58.21 PM                                                                0
500010245644                500 21-APR-11 05.58.21 PM                                                                1
500010245645                500 21-APR-11 05.58.21 PM                                                                1
500010245654                500 21-APR-11 05.58.21 PM                                                                1
500010245662                500 21-APR-11 05.58.21 PM                                                                1
500010245664                500 21-APR-11 05.58.21 PM                                                                1
500010245666                500 21-APR-11 05.58.21 PM                                                                1
500010245667                500 21-APR-11 05.58.21 PM                                                                1
500010245677                500 21-APR-11 05.58.21 PM                                                                1
500010245679                500 21-APR-11 05.58.21 PM                                                                1
$ sed 's/ [     ][      ]*/,/g;s/00 /,/' tst
500010245623,5,21-APR-11 05.58.21 PM,1
500010245637,5,21-APR-11 05.58.21 PM,0
500010245644,5,21-APR-11 05.58.21 PM,1
500010245645,5,21-APR-11 05.58.21 PM,1
500010245654,5,21-APR-11 05.58.21 PM,1
500010245662,5,21-APR-11 05.58.21 PM,1
500010245664,5,21-APR-11 05.58.21 PM,1
500010245666,5,21-APR-11 05.58.21 PM,1
500010245667,5,21-APR-11 05.58.21 PM,1
500010245677,5,21-APR-11 05.58.21 PM,1
500010245679,5,21-APR-11 05.58.21 PM,1
$

Note that inside by bracket i have [<SPACE><TAB>]
This User Gave Thanks to ctsgnb For This Post:
# 13  
Old 06-08-2011
Quote:
Originally Posted by pinpe
Sorry. This is my final requirement for this task. Thanks so much in advance.

Br,
Pete

Pete,

Please post all your requirement at once. It would be easy that way.

Code:
perl -lane 'BEGIN{print "Header1,Header2,Header3,Header4"}print "$F[0],".$F[1]/100.",$F[2] $F[3],$F[4]"' input

# 14  
Old 06-08-2011
Quote:
Originally Posted by ctsgnb
Code:
$ sed 's/ [     ][      ]*/,/g;s/00 /,/' tst

Note that inside by bracket i have [<SPACE><TAB>]
Hi ctsgnb,

This is more elegant code/script of yours!! Thanks mate! But you forgot to put the headers. I have included in this request the headers as shown below...

Code:
Header1,Header2,Header3,Header4
500010245623,5,21-APR-11 05.58.21 PM,1
500010245637,5,21-APR-11 05.58.21 PM,0
500010245644,5,21-APR-11 05.58.21 PM,1
500010245645,5,21-APR-11 05.58.21 PM,1

500010245654,5,21-APR-11 05.58.21 PM,1
500010245662,5,21-APR-11 05.58.21 PM,1
500010245664,5,21-APR-11 05.58.21 PM,1

500010245666,5,21-APR-11 05.58.21 PM,1
500010245667,5,21-APR-11 05.58.21 PM,1
500010245677,5,21-APR-11 05.58.21 PM,1
500010245679,5,21-APR-11 05.58.21 PM,1

Appreciated so much your expertise. =)

Also if you can spare me one last request to remove the blank rows form the file. Thanks bro!


Br,
Pinpe
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to cut a pipe delimited file and paste it with another file to form a comma separated outputfile

Hello ppl I have a requirement to split (cut in unix) a file (A.txt) which is a pipe delimited file into A1.txt and A2.txt Now I have to join (paste in unix) this A2.txt with external file A3.txt to form output file A4.txt which should be CSV (comma separated file) so that third party can... (25 Replies)
Discussion started by: etldev
25 Replies

2. Shell Programming and Scripting

Convert comma separated file to fix length

Hi, I am converting a comma separated file to fixed field lenght and I am using that: COLUMNS="25 24 67 26 39 63 20 34 35 14 397" ( cat $indir/input_file.dat | \ $AWK -v columns="$COLUMNS" ' BEGIN { FS=","; OFS=""; split(columns, arr, " "); } { for(i=1; i<=NF;... (5 Replies)
Discussion started by: apenkov
5 Replies

3. Shell Programming and Scripting

How to split the comma separated file?

Hi, I have a filein unix like ABC,CDE BCD,KHL and the output i need is like column1 column2 ABC,CDE ABC ABC,CDE CDE BCD,KHL BCD BCD,KHL KHL. Can some body help me out? Hi, The code is working fine. But in my file each row does not have always 1 comma. It may... (6 Replies)
Discussion started by: jagdishrout
6 Replies

4. Shell Programming and Scripting

Comma separated file

Hi all, I have the following files types: FileA: 100, 23, 33, FileB: 22, 45, 78, and i want to make File C: 100,22 23,45 33,78 any nice suggestions for making it easy. (3 Replies)
Discussion started by: hen1610
3 Replies

5. Shell Programming and Scripting

Inserting string in between field in comma separated file

Hello Mates, I have one txt file having commo seperated values. I have to insert string "FALSE" in 2nd field from the end. E.G SE18 6RN,,,,5439070,1786840,,1000002148671600,123434 Out put should be: SE18 6RN,,,,5439070,1786840,FALSE,1000002148671600,123434 Can some one help me to... (8 Replies)
Discussion started by: krsnadasa
8 Replies

6. Shell Programming and Scripting

parsing comma separated file

Hi, I have a file with th elist of patches separated by comma, like below: patch1, patch 2, patch 3................ t\The number of patches is not known as it changes every time. I need assistance in writing a routine such as it will take patch1 as first variable and performs the... (4 Replies)
Discussion started by: avikaljain
4 Replies

7. Shell Programming and Scripting

How to format file into comma separated field

Guys, Need you help, i have a a file content that look like this. Nokia 3330 <spaces><spaces><more spaces>+76451883874 Nokia 3610 +87467361615 so on and so forth, - there are so many spaces in between. - e.g.... (5 Replies)
Discussion started by: shtobias
5 Replies

8. Shell Programming and Scripting

Converting comma separated to pipe delimited file

Hi, I came across a very good script to convert a comma seperated to pipe delimited file in this forum. the script serves most of the requirement but looks like it does not handle embedded double quotes and commas i.e if the input is like 1234, "value","first,second", "LDC5"monitor",... (15 Replies)
Discussion started by: anijan
15 Replies

9. Shell Programming and Scripting

Convert comma text file to Column in html format

I am trying to generate a report with below file : File1 : EQADM,edrtere9-phys,8122caef0,gpatmon,/bin/ksh,nuten Erick EQADM,edrtere11-phys,8227caef0,gpatmon,/bin/ksh,nuten Erick EQADM,edrtere3-phys,822caef0,gpatmon,/bin/ksh,nuten Erick can you help me convert it to html and add... (9 Replies)
Discussion started by: sriram003
9 Replies

10. UNIX for Dummies Questions & Answers

Remove whitespaces between comma separated fields from file

Hello all, I am a unix dummy. I am trying to remove spaces between fields. I have the file in the following format 12332432, 2345 , asdfsdf ,100216 , 9999999 12332431, 2341 , asdfsd2 ,100213 , 9999999 &... (2 Replies)
Discussion started by: nitinbjoshi
2 Replies
Login or Register to Ask a Question