Generating CSV from Column data


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Generating CSV from Column data
# 1  
Old 11-04-2013
Generating CSV from Column data

Hi List,

I have a chunk of data like so:
Code:
User Account Control:
User Account Control:
User Account Control:
User Account Control:
        Disabled
User Account Control:
User Account Control:
User Account Control:
        Disabled
User Account Control:
User Account Control:
        Disabled

What I want to do is collapse the Disabled row to the end of the row above into a CSV like so:
Code:
User Account Control:
User Account Control:
User Account Control:
User Account Control:,Disabled
User Account Control:
User Account Control:
User Account Control:,Disabled
User Account Control:
User Account Control:,Disabled

Any ideas?

thanks ./
# 2  
Old 11-04-2013
As long as there is only one word on indented lines (as in your example), the following should work:
Code:
awk '
/^[[:space:]]/ {
        o = o "," $1
        next
}
{       if(o != "") print o
        o = $0
}
END {   if(o != "") print o
}' file

If you want to try this on a Solaris/SunOS system, change awk to /usr/xpg4/bin/awk, /usr/xpg6/bin/awk, or nawk.
This User Gave Thanks to Don Cragun For This Post:
# 3  
Old 11-04-2013
You may try this also

Code:
$ cat <<eof | awk '{S=!/^[[:space:]]/? S RS $0 : S OFS $1}END{print S}' OFS=\,
User Account Control:
User Account Control:
User Account Control:
User Account Control:
        Disabled
User Account Control:
User Account Control:
User Account Control:
        Disabled
User Account Control:
User Account Control:
        Disabled
eof

User Account Control:
User Account Control:
User Account Control:
User Account Control:,Disabled
User Account Control:
User Account Control:
User Account Control:,Disabled
User Account Control:
User Account Control:,Disabled

This User Gave Thanks to Akshay Hegde For This Post:
# 4  
Old 11-04-2013
try also:
Code:
awk '!/:/ {sub("\n$", "", s); $0="," $1} {s=s $0 "\n";} END {printf s}' input

This User Gave Thanks to rdrtx1 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Is there a way to handle commas inside the data when generating a csv file from shell script?

I am extracting data via sql query and some of the data has commas. Output File must be csv and I cannot update the data in the db (as it is used by other application). Example table FavoriteThings Person VARCHAR2(25), Favorite VARCHAR2(100) Sample Data Greta rain drop on... (12 Replies)
Discussion started by: patk625
12 Replies

2. Shell Programming and Scripting

Adding new column data in csv from UNIX

Adding new column data in csv from UNIX Hi I need to add new column data daily to existing csv file. Please assist 7/11 7/10 7/9 7/8 space 10 GB 20 GB I was able to generate current day's data in csv but unable to add the previous 30 days data to the same csv Please use code tags,... (2 Replies)
Discussion started by: archana25
2 Replies

3. Shell Programming and Scripting

How to separate data coming in one column of CSV file?

I am running an ISQL command on Sybase DB and getting output of a query in an CSV file. The issue is that all the data comes in to the same column, i want them to be separated in different columns. SQL_COMMAND=command.sql file=file.txt formatFile=formatFile.txt report=report.csv echo... (1 Reply)
Discussion started by: Sharma331
1 Replies

4. Shell Programming and Scripting

Compare 2 files of csv file and match column data and create a new csv file of them

Hi, I am newbie in shell script. I need your help to solve my problem. Firstly, I have 2 files of csv and i want to compare of the contents then the output will be written in a new csv file. File1: SourceFile,DateTimeOriginal /home/intannf/foto/IMG_0713.JPG,2015:02:17 11:14:07... (8 Replies)
Discussion started by: refrain
8 Replies

5. Shell Programming and Scripting

Script for extracting data from csv file based on column values.

Hi all, I am new to shell script.I need your help to write a shell script. I need to write a shell script to extract data from a .csv file where columns are ',' separated. The file has 5 columns having values say column 1,column 2.....column 5 as below along with their valuesm.... (3 Replies)
Discussion started by: Vivekit82
3 Replies

6. UNIX for Dummies Questions & Answers

Use sed on column (csv) file if data in colmns is greater > than?

I have a data file that has 14 columns. I cannot use awk or perl but sed is installed on my host. I would like to delete a line if fields 10, 11 or twelve is greater than 999.99. How is this done using sed? :wall: sed '/^*,*,*,*,*,*,*,*,*,*,*,*,*,*,/d' infile 1 2 3 4 ... (2 Replies)
Discussion started by: Chris Eagleson
2 Replies

7. Shell Programming and Scripting

Compare 2 files and match column data and align data from 3 column

Hello experts, Please help me in achieving this in an easier way possible. I have 2 csv files with following data: File1 08/23/2012 12:35:47,JOB_5330 08/23/2012 12:35:47,JOB_5330 08/23/2012 12:36:09,JOB_5340 08/23/2012 12:36:14,JOB_5340 08/23/2012 12:36:22,JOB_5350 08/23/2012... (5 Replies)
Discussion started by: asnandhakumar
5 Replies

8. Shell Programming and Scripting

generating a create ddl from a csv file using awk

Hello, I would greatly appreciate some help on the this I have comma delimited file as follows: csv file -------- TEST1,fld1,VARCHAR2,3,,, TEST1,fld2,DATE,,,, TEST1,fld2,VARCHAR2,51,,, TEST1,fld4,VARCHAR2,2,,, TEST1,fld5,NUMBER,4,0,, TEST1,fld6,VARCHAR2,1,,,... (5 Replies)
Discussion started by: jville
5 Replies

9. Shell Programming and Scripting

generating data for 1 hour

Hi Folks, The reqirement is that i need to generate 1 hr file with a time interval of five minutes.. For ex: my i/p is 0000-0000 and desired o/p is 0000-0005 0005-0010 0010-0015 0015-0020 0020-0025 0025-0030 0030-0035 0040-0045 0050-0055 0055-0100 Script neede urgent ... (0 Replies)
Discussion started by: aajan
0 Replies
Login or Register to Ask a Question