help with file formatting


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting help with file formatting
# 1  
Old 09-17-2009
help with file formatting

Hi,

I have a file with below contents:

Code:
AAA
pqr,jkl,mnop,abcd

BBB
abc,pqrs,xyz,uvw,
efgh,uvw,
rpk

CCC
123,456,789

Need output file as below:

Code:
AAA,pqr,jkl,mnop,abcd
BBB,abc,pqrs,xyz,uvw,efgh,uvw,rpk
CCC,123,456,789

Pl advise.

TIA
Prvn

Last edited by vgersh99; 09-18-2009 at 08:49 AM.. Reason: code tags, PLEASE!
# 2  
Old 09-17-2009
What have you tried ? Post your attempts over here.

tyler_durden
# 3  
Old 09-17-2009
simple awk can do this..
Code:
awk 'ORS=(NF)?",":"\n"' filename

# 4  
Old 09-17-2009
I didn't try anything as all i know this can be done using "awk".

Its actually the CSV output (spooled) from few SQL statements and there's lot of data beyond 80 columns which gets wrapped to next line (and so on.). Now i need to keep entire data of a record into 1 line.

Prvn

---------- Post updated at 03:03 PM ---------- Previous update was at 02:57 PM ----------

Thank you vidyadhar85,

It worked great.
# 5  
Old 09-18-2009
Code:
sed -n '/^$/!{
      $!{H;}
      ${H;x;s/\n/,/2;s/\n//g;p;}
      }
    /^$/{x;s/\n/,/2;s/\n//g;p;}'

# 6  
Old 09-18-2009
Not really, some unexpected "," was added .

$ awk 'ORS=(NF)?",":"\n"' filename
AAA,pqr,jkl,mnop,abcd,
BBB,abc,pqrs,xyz,uvw,,efgh,uvw,,rpk,
CCC,123,456,789,
# 7  
Old 09-18-2009
Quote:
Originally Posted by rdcwayx
Not really, some unexpected "," was added .

$ awk 'ORS=(NF)?",":"\n"' filename
AAA,pqr,jkl,mnop,abcd,
BBB,abc,pqrs,xyz,uvw,,efgh,uvw,,rpk,
CCC,123,456,789,
Yes,
but the OP seems satisfied. With awk it should be something like this:

Code:
awk -F, 'END { print r }
NR > 1 && /[A-Z]/ { 
  print r; r = "" 
  }
{ r = r ? r $0 : $0 FS }
' infile

On Solaris gawk, nawk or /usr/xpg4/bin/awk should be used.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Formatting data in a raw file by using another mapping file

Hi All, i have a requirement where i need to format the input RAW file ( which is CSV) by using another mapping file(also CSV file). basically i am getting feed file with dynamic headers by using mapping file (in that target field is mapped with source filed) i have to convert the raw file into... (6 Replies)
Discussion started by: ravi4informatic
6 Replies

2. Shell Programming and Scripting

Formatting file data to another file (control character related)

I have to write a program to read data from files and then format into another file. However, I face a strange problem related to control character that I can't understand and solve. The source file is compose of many lines with such format: T_NAME|P_NAME|P_CODE|DOCUMENT_PATH|REG_DATE ... (3 Replies)
Discussion started by: hk6279
3 Replies

3. Shell Programming and Scripting

File Formatting

Hi, I have requirement to format the file.My input file tab(\t) saperated. File format is:- 93 WARNING Sat Mar 17 20:31:59 2012 Sequential_File_0,0: Missing record delimiter "\r\n", saw EOF instead 94 WARNING Sat Mar 17 20:31:59 2012 Sequential_File_0,0: Import... (4 Replies)
Discussion started by: prasson_ibm
4 Replies

4. Shell Programming and Scripting

File formatting

Hi, I have a file which contains data in this format # User@Host: abc @ Id: 0000000 # Query_time: 0.000070 Lock_time: 0.000000 Rows_sent: 1 Rows_examined: 0 SET timestamp=00000000; SELECT @@version, @@version_comment; # User@Host: abcd @ Id: 00000000 # Query_time: 0.000228 ... (6 Replies)
Discussion started by: arijitsaha
6 Replies

5. Shell Programming and Scripting

File formatting

I need to count the number of lines between two sets of pattern in a file and delete those lines from that file e.g From jyotiv@yahoo.com test test2 test3 test4 test5 test6 From Jyotiv@yahoo.com So count lines from test to test6 and delete it from the start of file till next From... (1 Reply)
Discussion started by: jyotiv
1 Replies

6. Shell Programming and Scripting

File Formatting

Hi, Need to delete all the records prior to pattern (INSERT/UPDATE/DELETE). If ' is available, then need to retain it. Input ====================== l_s := ' INSERT INTO TEST' l_P PD := ' UPDATE INTO TEST' l_D := ' DELETE INTO TEST' This is test Output ======================... (1 Reply)
Discussion started by: saurabhbaisakhi
1 Replies

7. Shell Programming and Scripting

File Formatting

Hi, Need to delete all the records prior to pattern (INSERT/UPDATE/DELETE). If ' is available, then need to retain it. Input ====================== l_s := ' INSERT INTO TEST' l_P PD := ' UPDATE INTO TEST' l_D := ' DELETE INTO TEST' This is test Input ======================... (1 Reply)
Discussion started by: saurabhbaisakhi
1 Replies

8. UNIX for Dummies Questions & Answers

Formatting a file.

I want to format a file to limit record length = 100, in each line. Any idea how i can do this? (1 Reply)
Discussion started by: abhilasha
1 Replies

9. Shell Programming and Scripting

Help with formatting of file.

I have a file with following file format - DMCRH|||83000171|||14022008||0430|||8956612.23|J|||3571235|1378452|23468|6894|9234| DMCRH|||83000215|||15092007||0480|||121.33|J|||LineID003|RefNumSP003|RefNumMem003|0004|0003| What i need done is - 1. Cut the firt four digits of the date (eg 1402... (3 Replies)
Discussion started by: divz
3 Replies

10. Shell Programming and Scripting

Formatting a file

Hi All, I have been trying to format a file using sed. I can't seem to get the syntax right. I want to append the next line delemited by a comma or a comma and double quotes. Here is an example of the file I'm tring to format: Before formatting: 00324 03A0312 BRI-u24 0000324 01 H-12... (4 Replies)
Discussion started by: cstovall
4 Replies
Login or Register to Ask a Question