Need help in reformatting the input


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Need help in reformatting the input
# 1  
Old 09-05-2015
Need help in reformatting the input

Hi

i want to print line which is mentioned as below
Code:
615213:1;20150725;20250722;0|11;20150831;20150831;100|14;20150725;20160723;2

in below format.
'
Code:
615213: 1;20150725;20250722;0
615213: 11;20150831;20150831;100
615213: 14;20150725;20160723;2

please help me and suggest me how to do this.
# 2  
Old 09-05-2015
Code:
awk -F'[:|]' '{for(i=2;i<=NF;i++) print $1 ": " $i}' scriptor.file

or
Code:
perl -anlF'[:|]' -e 'while(<@F[1..$#F]>){print $F[0], ": ", $_}' scriptor.file


Last edited by Aia; 09-05-2015 at 12:06 PM..
# 3  
Old 09-05-2015
Hello scriptor,

Following may help you in same.
Code:
awk -F":" '{A=$1;sub(/.*:/,X,$0);split($0, B,"|");print A OFS B[1] ORS A OFS B[2] ORS A OFS B[3]}' OFS=": " Input_file

Output will be as follows.
Code:
615213: 1;20150725;20250722;0
615213: 11;20150831;20150831;100
615213: 14;20150725;20160723;2

Thanks
R. Singh

Last edited by RavinderSingh13; 09-05-2015 at 12:02 PM..
# 4  
Old 09-05-2015
Try also
Code:
awk -F':' '{gsub (/\|/, "\n" $1 ":");gsub ($1 ":", "& ")}1' file
615213: 1;20150725;20250722;0
615213: 11;20150831;20150831;100
615213: 14;20150725;20160723;2

# 5  
Old 10-07-2015
Hi Rudic

this command works perfectly for me.
however i am not able to understand the complete working of command i tried and googled it also but failed to understand.
can you pleas eloborate it working specially below part.
Code:
{gsub (/\|/, l"\n" $1 ":");gsub ($1 ":", "& ")}1'

# 6  
Old 10-07-2015
Code:
gsub (/\|/, l"\n" $1 ":")	replace the "field separators"  |  by  "615213:", preceded by a <new line>
gsub ($1 ":", "& ")			add a space after the colon
1				print $0  (the entireline)

# 7  
Old 10-07-2015
i know i sound like a moron but i a not able to get it clearly.
few more question


Code:
gsub (/\|/, l"\n" $1 ":")

replace the "field separators" | by "615213:", preceded by a <new line>

need to understand how we are replacing the "field separators" | by "615213:".
i am not getting working of this
Code:
(/\|/, l"\n" $1 ":")

Code:
gsub ($1 ":", "& ")

add a space after the colon

need to understand how we are adding space after colan.
i am not getting working of this
Code:
 ($1 ":", "& ")

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help reformatting column

Hello UNIX experts, I'm stumped finding a method to reformat a column. Input file is a two column tab-delimited file. Essentially, for every term that appears in column 2, I would like to summarize whether that term appears for every entry in column 1. In other words, make a header for each term... (2 Replies)
Discussion started by: torchij
2 Replies

2. UNIX for Dummies Questions & Answers

Help reformatting input file

Hi, I have an input file that looks like this (columns are tab delimited: Data000005-RA GO:0003735 GO:0005840 GO:0006412 Data000005-RA GO:0003735 Data000009-RA GO:0003735 GO:0005622 GO:0005840 GO:0006412 ... (2 Replies)
Discussion started by: Fahmida
2 Replies

3. Shell Programming and Scripting

Reformatting Column into rows

I have a file that I need to reformat so that every time I match a certain string in the first column it prints to the string as the heading and under the sting it prints the remaining entries on the line that matched the string. For example, I need to reformat this xxx : yyy zzz 11 : 111 222... (4 Replies)
Discussion started by: kieranfoley
4 Replies

4. Shell Programming and Scripting

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: (145)... (5 Replies)
Discussion started by: ivar.friheim
5 Replies

5. 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

6. 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

7. 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

8. 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

9. UNIX for Dummies Questions & Answers

Reformatting file

Hi, How can I reformat a file (text file) using unix command. This file was FTP'd from Mainframe and contains some garbage character at the end of each line. Each line contains special characters '<soh>' at the end which should have been spaces when I view it in emacs or nedit. I couldnt do find... (2 Replies)
Discussion started by: mrjunsy
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