file formatting ?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting file formatting ?
# 1  
Old 02-04-2005
file formatting ?

I have a log file with start and finish times for various scripts. The start and finish times just get appended one after the other. I want the start and finish times to be on the same line seperated by a comma. Below is an example of the log file I want formatted.

logfile:

23:17:15
23:20:26
23:20:26
23:25:02
23:25:02
00:12:21
00:12:21
00:32:41
00:51:05
01:14:47

I want the file to be formatted like this:

logfile:

23:17:15,23:20:26
23:20:26,23:25:02
23:25:02,00:12:21
00:12:21,00:32:41
00:51:05,01:14:47

I would greatly appreciate any help this problem. Thank you.
# 2  
Old 02-04-2005
Code:
nawk '{printf"%s%s", $0, !(FNR%2) ? "\n" : OFS }' OFS=',' myLogFile

# 3  
Old 02-04-2005
Thank you Vgersh99 . That worked great. Can you recommend any good tutorials for learing to format files with awk?
# 4  
Old 02-04-2005
# 5  
Old 02-10-2005
Hi vgersh99

Could you explain to me what the bit of awk code is doing I understand it's getting the even numbered line, but I'm not so sure about the other bits of this line '!(FNR%2) ? "\n" : OFS'

Could you break it down for me?

Appreciate it
# 6  
Old 02-10-2005
Quote:
Originally Posted by dbrundrett
Hi vgersh99

Could you explain to me what the bit of awk code is doing I understand it's getting the even numbered line, but I'm not so sure about the other bits of this line '!(FNR%2) ? "\n" : OFS'

Could you break it down for me?

Appreciate it
FNR - record/line number of the current file

FNR%2 - returns the remainder of the division - either 0 [even lines] or 1 [odd lines]

!(FNR%2) - if the remainder is '0'

!(FNR%2) ? "\n" : OFS - if the remainder is 0 - return "\n" [new-line]
- if the remainder is NOT '0' - return OFS [set to ',']


printf"%s%s", $0, !(FNR%2) ? "\n" : OFS
- the 1st "%s" prints the line [$0]
- the 2nd "%s" prints either "\n" or OFS depending either we're on the even or odd number?

Is it clearer a bit?
# 7  
Old 02-10-2005
As a simple alternative, use paste
Code:
paste -d',' - - < my_file

Cheers
ZB
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