Visit Our UNIX and Linux User Community


Convert text to CSV


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Convert text to CSV
# 1  
Old 05-09-2012
Error Convert text to CSV

Hi Gurus

I need urgent help to convert a flat log file into csv format to load into database.

Log looks like:

a=1
b=2
c=3
a=4
b=5
c=6
Only the values at right side of = will come into csv and it should create a new line once it receives "a" field.

Last edited by sandipjee; 05-09-2012 at 01:05 PM..
# 2  
Old 05-09-2012
What have you tried to solve this..
# 3  
Old 05-09-2012
Hi Shamrock

I have tried to filter out the data only on the right side of = and use a perl script for the same..

But unfortunately the newline clause is not working. it prints all in same line. I am a very newbie to the same... help is appreciated:

Code:
 
perl -ne'print/=\s*(.*)/,(eof)?$/:","' <file_name>

# 4  
Old 05-09-2012
Here is a possible start

Code:
$ cat sample7.txt | sed 's/a=/~a=/g' | tr "\n" " " | tr "~" "\n"

a=1 b=2 c=3
a=4 b=5 c=6

which puts all related data on one line.
# 5  
Old 05-09-2012
Quote:
Originally Posted by joeyg
Code:
$ cat sample7.txt | sed 's/a=/~a=/g' | tr "\n" " " | tr "~" "\n"
 
a=1 b=2 c=3
a=4 b=5 c=6

which puts all related data on one line.
I need the same in below format:

1,2,3
4,5,6
# 6  
Old 05-09-2012
There are other approaches

Code:
$ cat sample7.txt | sed 's/a=/~a=/g' | tr "\n" "=" | tr "~" "\n" | awk -F"=" 'OFS="," {print $2,$4,$6}' | grep '[0-9]'
1,2,3
4,5,6

# 7  
Old 05-09-2012
How about perl ?

Code:
#!/usr/bin/perl

while (<DATA>) {
        chomp;
        ($k,$v)=split(/\=/);
        push(@{$k},$v);
        $highIndex=$#{$k} if $highIndex < $#{$k};
        $hash{$k} unless $hash{$k}++;
}

for($i=0;$i<=$highIndex;$i++) {
print ${$_}[$i],"," foreach sort(keys %hash);
print "\n";
}

__DATA__
a=1
b=2
c=3
a=4
b=5
c=6


Previous Thread | Next Thread
Test Your Knowledge in Computers #215
Difficulty: Easy
Cisco IOS has a monolithic architecture.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Convert text to csv

Hi, Is there somebody there to post an idea on how to convert this 5 liner row to 1 liner or tab delimiter to be import to database. Here the text file format: Description: Description1 Link: https://www.google.com Date: June 2, 2018 Time: 00:07:44 Age: 1 days ago Description:... (2 Replies)
Discussion started by: lxdorney
2 Replies

2. Shell Programming and Scripting

Read csv file, convert the data and make one text file in UNIX shell scripting

I have input data looks like this which is a part of a csv file 7,1265,76548,"0102:04" 8,1266,76545,"0112:04" I need to make the output data should look like this and the output data will be part of text file: 7|1265000 |7654899 |A| 8|12660000 |76545999 |B| The logic behind the... (6 Replies)
Discussion started by: RJG
6 Replies

3. Shell Programming and Scripting

Need to Preprocess a text file and convert into csv

Hello, I was working with Machine learning and would like to apply my regression algorithms on binary classification datasets. So I came across this adult dataset, LIBSVM Data: Classification (Binary Class) It is a binary dataset, features have values only 1 and 0. and I wanted to... (4 Replies)
Discussion started by: ajayram
4 Replies

4. Shell Programming and Scripting

How to convert excel file to csv file or text file?

Hi all, I need to find a way to convert excel file into csv or a text file in linux command. The reason is I have hundreds of files to convert. Another complication is the I need to delete the first 5 lines of the excel file before conversion. so for instance input.xls description of... (6 Replies)
Discussion started by: johnkim0806
6 Replies

5. Shell Programming and Scripting

Trying extract from text file and convert csv

I want to extract IP address, system ID and engine IDs of this file ( marked in red) and put in a csv. E.g. 1.1.1.1, SYSTEMID, 000012345678981123548912 I get these file by running an expect script from solaris. Here is the text file output of my expect script. working on 1.1.1.1 SNMP... (5 Replies)
Discussion started by: pbshillong
5 Replies

6. Shell Programming and Scripting

Awk to convert a text file to CSV file with some string manipulation

Hi , I have a simple text file with contents as below: 12345678900 971,76 4234560890 22345678900 5971,72 5234560990 32345678900 71,12 6234560190 the new csv-file should be like: Column1;Column2;Column3;Column4;Column5 123456;78900;971,76;423456;0890... (9 Replies)
Discussion started by: FreddyDaKing
9 Replies

7. Shell Programming and Scripting

Perl program to convert PDF to text/CSV

Please suggest ways to easily convert pdf to text in perl only on windows (no other tools can be downloaded) Here is what I have been doing : using a module CAM::PDF to extract data. But it shows everything in messy format :wall: But this module is the only one working with the pdf... (0 Replies)
Discussion started by: chakrapani
0 Replies

8. Programming

awk script to convert a text file into csv format

hi...... thanks for allowing me to start a discussion i am collecting usb usage details of all users and convert it into csv files so that i can export it into some database.. the input text file is as follows:- USB History Dump by nabiy (c)2008 (1) --- Kingston DataTraveler 130 USB... (2 Replies)
Discussion started by: certteam
2 Replies

9. Programming

convert text file to csv

hi all, i have a select query that gives me the output in the following way... SYSTYPE -------------------------------------------------------------------------------- Success Failures Total RFT ---------- ---------- ---------- ---------- TYP 1 0 ... (3 Replies)
Discussion started by: sais
3 Replies

10. UNIX for Advanced & Expert Users

how to convert text/csv to excel

Hello All, I have a sql report with 50 columns and 1000 rows result in a file ( txt / csv). is there is any way that we can move them to excel in KSH. Thanks, Sateesh (7 Replies)
Discussion started by: kotasateesh
7 Replies

Featured Tech Videos