Format log file - SED


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Format log file - SED
# 1  
Old 03-17-2011
Format log file - SED

Hello,

I need help to format a log file...again ; ))

Here is what I have :

Code:
FILE='/OPERATIONNEL/SATURNE/MASTER/SATURNE_MASTER_PRE_R20110119.TAR.GZ                                                                                                                                                                                          ';;
 ARC_DATE='2011-01-21'
 ARC_TIME='00.10.12'
;;
STAS034  RC = 0 I Deroulement correct
*****

here is what i need :

Code:
2011-01-21 SATURNE_MASTER_PRE_R20110119.TAR.GZ /OPERATIONNEL/SATURNE/MASTER

I need date<tab>filename<tab>path

tahnks for your help.

---------- Post updated at 06:23 AM ---------- Previous update was at 06:00 AM ----------

Here is what I've done so far :

I have the ouput in one ligne with space tab between :

Code:
sed -n "/^FILE/{N;s/FILE='//;s/ .*\n ARC_DATE='/ /;s/'$//;s#\(.*\)/#\1 #;p;}"  infile

Code:
/OPERATIONNEL/SATURNE/MASTER SATURNE_MASTER_PRE_R20110119.TAR.GZ 2011-01-21

but how to format the ligne as wanted

date<tab>filename<tab>path

thanks

---------- Post updated at 07:53 AM ---------- Previous update was at 06:23 AM ----------

Hello I've found a way to do it with nawk :

Code:
| nawk -F" " '{ print $3" "$2" "$1 }'

problem solved.

Thanks
# 2  
Old 03-18-2011
could be done within one sed like

Code:
# sed -n "/^FILE/{N;s/\n/ /g;s:[^']*'\(/.*\)/\([^/ ]*\)[^']*'[^']*'\([^']*\)':\3 \2 \1:p}" infile

or
Code:
# sed -n "/^FILE/{N;s:.*='\(.*\)/\([^ ]*\) .*\n.*='\(.*\)'$:\3 \2 \1:;p}" tst

Code:
# cat tst
FILE='/OPERATIONNEL/SATURNE/MASTER/SATURNE_MASTER_PRE_R20110119.TAR.GZ                                                                                                                                     ';;
 ARC_DATE='2011-01-21'
 ARC_TIME='00.10.12'
;;
STAS034  RC = 0 I Deroulement correct
*****
#  sed -n "/^FILE/{N;s/\n/ /g;s:[^']*'\(/.*\)/\([^/ ]*\)[^']*'[^']*'\([^']*\)':\3 \2 \1:p}" tst
2011-01-21 SATURNE_MASTER_PRE_R20110119.TAR.GZ /OPERATIONNEL/SATURNE/MASTER
#

Code:
# sed -n "/^FILE/{N;s:.*='\(.*\)/\([^ ]*\) .*\n.*='\(.*\)'$:\3 \2 \1:;p}" tst
2011-01-21 SATURNE_MASTER_PRE_R20110119.TAR.GZ /OPERATIONNEL/SATURNE/MASTER


Last edited by ctsgnb; 03-18-2011 at 01:36 PM..
This User Gave Thanks to ctsgnb For This Post:
# 3  
Old 03-18-2011
MySQL

Code:
# cat file
FILE='/OPERATIONNEL/SATURNE/MASTER/SATURNE_MASTER_PRE_R20110119.TAR.GZ
 ARC_DATE='2011-01-21'
 ARC_TIME='00.10.12'
;;
STAS034  RC = 0 I Deroulement correct
*****

Code:
# sed -n "N;s/\n//;s/.*='\/\(.*\)\/\(.*\) .*='\(.*\)'/\3 \2 \/\1/p" file
2011-01-21 SATURNE_MASTER_PRE_R20110119.TAR.GZ /OPERATIONNEL/SATURNE/MASTER

This User Gave Thanks to ygemici For This Post:
# 4  
Old 03-18-2011
@ygemici

But should work if more than one line starting with FILE ... by the way, you also shouldhandle the blank space (between the end of the file name and the trailing ';;

Code:
# cat tst
FILE='/OPERATIONNEL/SATURNE/MASTER/SATURNE_MASTER_PRE_R20110119.TAR.GZ                                                                                                                                     ';;
 ARC_DATE='2011-01-21'
 ARC_TIME='00.10.12'
;;
STAS034  RC = 0 I Deroulement correct
*****


Code:
# sed -n "/^FILE/{N;s:.*='\(.*\)/\([^ ]*\) .*\n.*='\(.*\)':\3 \2 \1:p}" tst
2011-01-21 SATURNE_MASTER_PRE_R20110119.TAR.GZ /OPERATIONNEL/SATURNE/MASTER

your code gave (on a linux machine) :
Code:
# sed -n "N;s/\n//;s/.*='\/\(.*\)\/\(.*\) .*='\(.*\)'/\3 \2 \/\1/p" tst
2011-01-21 SATURNE_MASTER_PRE_R20110119.TAR.GZ                                                                                                                                     ';; /OPERATIONNEL/SATURNE/MASTER
#

# 5  
Old 03-19-2011
hi ctsgnb

I've not seen
Code:
';;

Smilie
# 6  
Old 03-19-2011
@Ygemici

No pb dude, in fact when i've read this thread for the first time, i also missed it ! Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Datestamp format 2nd change in csv file (awk or sed)

I have a csv file formatted like this: 2014-08-21 18:06:26,A,B,12345,123,C,1232,26/08/14 18:07and I'm trying to change it to MM/DD/YYYY HH:MM for both occurances. I have got this: awk -F, 'NR <=1 {print;next}{"date +%d/%m/%Y\" \"%H:%m -d\""$1 "\""| getline dte;$1=dte}1' OFS="," test.csvThis... (6 Replies)
Discussion started by: say170
6 Replies

2. Shell Programming and Scripting

Help on Log File format using sed or awk

Hello Gurus, First, i would like to know is there any way to solve my problem. i have a log file like this: INFO - ABCDRequest :: processing started for the record <0> TransactionNo <Txn#1> recordID <recID#1> INFO - ABCDRequest :: processing started for the record <0> TransactionNo... (9 Replies)
Discussion started by: VasuKukkapalli
9 Replies

3. Shell Programming and Scripting

Format a log file using sed

I am looking to extract something like this from the below sample log file. 10.28.76.15 SSLC=Z42 71.19.175.130 10.28.76.15 SSLC=Z42 71.19.175.130 10.28.76.15 SSLC=Z42 71.19.175.130 for that I tried something like below and I have no clue how to extract the IP address marked red in the log... (6 Replies)
Discussion started by: Tuxidow
6 Replies

4. Shell Programming and Scripting

Need awk/sed to format a file

My content of source file is as below scr1 a1 scr2 a2 b2 scr3 a3 b3 c3 I need a awk/sed command (to be used in C shell)to format it to something like below scr1 $a1 >file1 scr2 $a2 $b2 >file2 scr3 $a3 $b3 $c3 >file3 (12 Replies)
Discussion started by: animesharma
12 Replies

5. Shell Programming and Scripting

Log File - Format

Dear all, I need help to format a log file : Here is the output (Go to the end of the Wrap Code to see caracter at the end of line): FILE='/OPERATIONNEL/SATURNE/PHYS_MOD/NOWMOD/SATURNE_1DAV_20110201_20110202_ICEMOD_R20110202.NC ... (5 Replies)
Discussion started by: Aswex
5 Replies

6. Shell Programming and Scripting

awk or sed to format text file

hi all, i have a text file which looks like the below 01 02 abc Top 40 music Kidz Only! MC 851 MC 852 MC 853 7NOW Arch_Diac xyz2 abc h211 Commacc1 Commacc2 Commacc3 (4 Replies)
Discussion started by: posner
4 Replies

7. Shell Programming and Scripting

SED - log file format

Hello everyone, I have a log file : \data\file\script\command_0001 \data\file\script\command_0002 \data\file\script\command_0003 I need to make all lines on this way \data\file\script\command_0001 \data\file\script\command_0002 \data\file\script\command_0003 I know this could be done... (11 Replies)
Discussion started by: Aswex
11 Replies

8. Shell Programming and Scripting

convert date format to mysql date format in log file

I have a comma delimited log file which has the date as MM/DD/YY in the 2nd column, and HH:MM:SS in the 3rd column. I need to change the date format to YYYY-MM-DD and merge it with the the time HH:MM:SS. How will I got about this? Sample input 02/27/09,23:52:31 02/27/09,23:52:52... (3 Replies)
Discussion started by: hazno
3 Replies

9. UNIX for Advanced & Expert Users

Sed to format data in a file

Hi , i need help with formatting a file i am generating which is to be used in mainframe app so the file length has to be 80 for each rows. The file that m able to generate looks like this (consists of two rows only) E 1006756 1006756 Active T E 0551055 0551055 Active T I... (2 Replies)
Discussion started by: cnilashis
2 Replies

10. UNIX for Dummies Questions & Answers

how to number format a data file without using SED?

Hi I have a file which contains data (list of data) and I want to put a number with bracket 1) 2) 3) etc at the beginning of every successive line I can do it with SED and I can also do it using the nl route but am looking for a different method. I'm guessing I would need some sort of loop... (3 Replies)
Discussion started by: Cactus Jack
3 Replies
Login or Register to Ask a Question