Reformatting a list to table


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Reformatting a list to table
# 1  
Old 05-13-2012
Question Reformatting a list to table

Hi!

I have a list with a lot of records that I need to work with. The problem is that the list is populated successive one record at the time in a text file, and to gain anything from these records I need them to be put out in a table.

This is an example of what the list looks like:
Code:
(145) To: One From: Two Date: 21.03.2012
This is text
And so is this

(276) To: Three From: Two Date: 22.03.2012
This  is another text

(13) To: Two From: One Date: 22.03.2012
And so
is 
this

What I would like is to have this text formatted like this:

Code:
(145) To: One From: Two Date: 21.03.2012;This is text;And so is this
(276) To: Three From: Two Date: 22.03.2012;This  is another text
(13) To: Two From: One Date: 22.03.2012;And so;is;this

As you can see, each record starts with (integer), and is followed by one or more lines of text. I have started on a bash script to do this, but I think I have a problem removing the newline-characters. Smilie

Does anyone have an idea of how I can fix this?
# 2  
Old 05-13-2012
Code:
awk 'END {
  if (r) print r
  }
/^\([0-9]+\)/ {
  print r; r = x
  }
{ 
  r = r ? r OFS $0 : $0 
  }' OFS=\; infile

On Solaris use nawk or /usr/xpg4/bin/awk.
This User Gave Thanks to radoulov For This Post:
# 3  
Old 05-13-2012
Alternatively, try this:
Code:
awk '$1=$1' FS='\n' OFS=';' RS= infile

This User Gave Thanks to Scrutinizer For This Post:
# 4  
Old 05-13-2012
Of course,
if the records are always separated by blank lines
(just like in the sample input file).
# 5  
Old 05-13-2012
Yes, indeed. Completely blank lines are a prerequisite, otherwise the simple version will not work. So unlike Radoulov's version, it is not very robust.
# 6  
Old 05-13-2012
Thanks!

Radulovs example works like a charm! I haven't got my really long long file at home for the moment, so I'm not sure if there really are blank lines between all the records. I'll try both examples at work tomorrow, and keep them until next time.

Thanks a heap, guys! Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Need help in reformatting the input

Hi i want to print line which is mentioned as below 615213:1;20150725;20250722;0|11;20150831;20150831;100|14;20150725;20160723;2 in below format. ' 615213: 1;20150725;20250722;0 615213: 11;20150831;20150831;100 615213: 14;20150725;20160723;2 please help me and suggest me how to... (9 Replies)
Discussion started by: scriptor
9 Replies

2. Shell Programming and Scripting

Build a table from a list by comparing existing table entries

I am new to this shell scripting.... I have a file which contains list of users. This files get updated when new user comes into the system. I want to create script which will give a table containing unique list of users. When I say unique, it means script should match table while parsing... (3 Replies)
Discussion started by: dchavan1901
3 Replies

3. UNIX for Dummies Questions & Answers

Date reformatting

I have been reformatting dates from a data file to make them mysql compliant. 31-10-2011 Loc1 1-11-2011 Loc2 The first can be captured by this: sed -i '' -e "s#\(..\)-\(..\)-\(....\)#\3-\2-\1#" data.txt and leads to: 2011-10-31 Loc1 The second line is captured as follows: sed -i... (2 Replies)
Discussion started by: figaro
2 Replies

4. UNIX for Dummies Questions & Answers

Reading Table name from a list of files in a Directory

Hi , I have searched through the forum but not able to find out any help :( i have a directory having lot of files which contains sql statemtns eg : file 1 contains select from table_name1 where ..................... select from table_name2 where .......... select from ... (3 Replies)
Discussion started by: Trendz
3 Replies

5. UNIX for Dummies Questions & Answers

Date reformatting

I have a file with temperature measurements: Loc1,20090102,71.55 Loc1,20090103,71.65 Loc1,20090104,71.55 Loc1,20090105,71.54 Loc1,20090106,71.54 However, to load this into a database I would like to reformat the dates (column 2) from the yyyymmdd format to the yyyy-mm-dd format. I have... (2 Replies)
Discussion started by: figaro
2 Replies

6. UNIX for Dummies Questions & Answers

Date reformatting

I currently have the following file containing sample values for a number of dates: Loc1 04 Jan 2007 0.95 0.9532 Loc1 05 Jan 2007 0.95 0.9513 Loc1 06 Jan 2007 0.95 0.9535 This continues for all months of the year and spans across several years. I am trying to reformat the dates so that... (2 Replies)
Discussion started by: figaro
2 Replies

7. Shell Programming and Scripting

Help reformatting output

I have a command that gives me the output below: JAVA_HOME = C:/jdk1.5.0_11 Broker Performance Report for server 'app1' RMI_URL = rmis:// Parameter Kintana ItgDS DashboardDS ---------------------------- ------- ----- ----------- Connections count 41 ... (4 Replies)
Discussion started by: bwiebe
4 Replies

8. Shell Programming and Scripting

building table from list

Hi, I have a file with the following structure M17XX-050-01-001 1100000000 A16 1.341E+05 ... B18 3.084E+02 total 1.344E+05 XY35 5.694E+03 ... XY241 6.725E+02 total 9.897E+05 Wr81Z 5.195E+00 ... Wr91Z 1.029E+02 Wr92Z 1.285E+02 total 9.897E+05 M17XX-050-01-001 1010000000... (2 Replies)
Discussion started by: f_o_555
2 Replies

9. Shell Programming and Scripting

Crosstab to List table using awk Function

What I am trying to achieve is turning crosstab into a normal table e.g. convert following table Jan Feb Mar Apr May Jun Australia 1 2 3 4 5 6 USA 7 8 9 10 11 12 China 13 14 15 16 17 18 to Australia Jan 1 Australia Feb 2 Australia Mar 3 ... (2 Replies)
Discussion started by: asdban
2 Replies

10. Filesystems, Disks and Memory

reformatting a floppy!

i am trying to reformat a floppy i am using solaris 9 when i run this: rmformat -F quick /vol/dev/aliases/floppy0 it tells me that it cannot perform the operation on a mounted device. how do i unmount the device and format the floppy? (1 Reply)
Discussion started by: rmuhammad
1 Replies
Login or Register to Ask a Question