AWK/SED script help


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting AWK/SED script help
# 1  
Old 07-15-2007
AWK/SED script help

Hi, was hoping someone may be able to help me with a script solution to move one line to another line from my log file:

My log file currently looks like this:
01:21:12:383 Request
01:21:12:639 Response
01:21:12:386 Request
01:21:12:639 Response
01:21:12:389 Request
01:21:12:640 Response
01:21:12:610 Request
01:21:12:646 Response
01:21:12:645 Request
01:21:12:673 Response

I want it to look like this:
01:21:12:383 Request 01:21:12:639 Response
01:21:12:386 Request 01:21:12:639 Response
01:21:12:389 Request 01:21:12:640 Response
01:21:12:610 Request 01:21:12:646 Response
01:21:12:645 Request 01:21:12:673 Response

I'm thinking sed would probably be best for this but so far I cannot seem to get it to work Smilie

Any advice would be most welcome..

Cheers, Jim
# 2  
Old 07-15-2007
Try...
Code:
paste -s -d ' \n' file1

# 3  
Old 07-15-2007
thanks ygor - a nice easy one for you Smilie

much appreciated.
# 4  
Old 07-16-2007
Code:
sed -n 'N;s/\n/ /p' file > newfile

# 5  
Old 07-16-2007
more help required please...

i'm still a bit of a novice here and assumed I would be able to figure this out for myself but could do with some more advice please...

now I have my log file in this format:

01:11:15:423 Request 01:11:15:541 Response
01:11:15:424 Request 01:11:15:514 Response
01:11:15:436 Request 01:11:15:678 Response
01:11:15:516 Request 01:11:15:675 Response

I would like to calculate the total response time in ms by subtracting $1 from $3 and print the result in a new field at the end of each row:

01:11:15:423 Request 01:11:15:541 Response 118

I thought I might be able accomplish this with some sort of awk script but things seem to get complicated (for me) when dealing with the time stamp.

If anyone could advise the best way forward for this I'd really appreciate it.

Jim
# 6  
Old 07-16-2007
just one of the many ways, you can do hard maths...:
Code:
awk '
	{
		n=split($1,one,":")
		hh=one[1]
		mm=one[2]
		ss=one[3]
		ms=one[4] #i assume its milleseconds?
		m=split($3,three,":")
		....
		...
		#do time maths..convert everything to seconds, 
		result =  result_of_three(secs) - result_of_one(secs)
                
	}
	{ print $0 " " result }
' "file"

# 7  
Old 07-16-2007
nawk -f jim.awk myFile.txt

jim.awk:
Code:
BEGIN {
  SEPtime=":"
  multN=split("3600000:60000:1000:1", multA, SEPtime)
}

function t2milsec(time,   tempA, tempN, i, milsec)
{

  tempN=split(time, tempA, SEPtime)
  for(i=1; i<=tempN; i++)
    milsec += (tempA[i] * multA[i])
  return milsec
}

{ print $0, t2milsec($3) - t2milsec($1) }

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

sed or awk script problem

Hi All I am having a file as shown below File1# modyle 1 { test jsj hhsjh 13e3 jsjjs } memP(dbg_trace) { ajjs jsjs jsjs Test(claer) { jsjs (7 Replies)
Discussion started by: kshitij
7 Replies

2. UNIX for Dummies Questions & Answers

Use of Variables in a sed/awk script

Hi, After looking at the differents post on this forum, I am convinced that I will benefit from the experience of advanced Unix user on some script I have already done for an aeronautical study. Here is one of them : Step 1 : sed -e "s/??/00/g" Base_Awk.txt > Awk_Cut_00.txt4; sed... (11 Replies)
Discussion started by: Marc_Camoc
11 Replies

3. Shell Programming and Scripting

awk or sed script to remove strings

Below am trying to separate FA-7A:1, In output file it should display 7A 1 Command am using Gives same output as below format: 22B7 10000000c9720873 0 22B7 10000000c95d5d8b 0 22BB 10000000c97843a2 0 22BB 10000000c975adbd 0 Not showing FA ports as required format... (5 Replies)
Discussion started by: aix_admin_007
5 Replies

4. Shell Programming and Scripting

help with writing a awk/sed script

Hi, I thought I am getting pretty good with sed and awk, but now I dont have a way out of this question. I have a table 0.5 16 1.3 14 0.25 15 0.85 16 I want to make a column 3 which contains values that are (corresponding $2 value/sum of all $2). Please help me out here. Thanks. (6 Replies)
Discussion started by: jamie_123
6 Replies

5. Programming

Shell script using sed or awk

Hi, I want to read a file from the command line and remove all the spaces, tabs in it, replacing it with comma(,), and write it to a new file. can you help me out with this scenario. (1 Reply)
Discussion started by: sudhanshu12788
1 Replies

6. Shell Programming and Scripting

XML- Sed || Awk Bash script... Help!

Hi ! I'm working into my first bash script to make some xml modification and it's going to make me crazy lol .. so I decide to try into this forum to take some ideas from people that really know about this! This is my situation I've and xml file with a lots of positional values with another tags... (9 Replies)
Discussion started by: juampal
9 Replies

7. Shell Programming and Scripting

awk or sed script

hi guys, perhaps you can help me again I have a file generated with the AIX-tool lparstat the looks like this: %user %sys %wait %idle physc %entc lbusy app vcsw phint ----- ---- ----- ----- ----- ----- ------ --- ---- ----- 21.8 8.8 1.8 67.6 0.17 34.1 9.4 7.22 ... (3 Replies)
Discussion started by: funksen
3 Replies

8. Shell Programming and Scripting

sed or an awk script should help

num desc ind code 11 hi,feather y food 121 edible,oil y food 100 meal-pack y food 010 health,prod 120 ... (5 Replies)
Discussion started by: thumsup9
5 Replies

9. UNIX for Dummies Questions & Answers

Script Help (sed awk)

Hi there I'am new here and could use some help. I probably haven't used the correct terms but have tried my best. I work for a newspaper who run a database for their classifieds. All the adds are input on an atex system and then each day dumped into three files. (*.eps *.srt *.prn) I'am trying... (1 Reply)
Discussion started by: StiCKmaN
1 Replies

10. UNIX for Dummies Questions & Answers

sed/awk script

I have a file with three fields, where the first two fields are of fixed length, left justified, and right padded with spaces. The third field is truncated to the length of the data (max length 5), and possibly contains a single letter. Each field is separated by an additional space. How can I... (1 Reply)
Discussion started by: Duckman
1 Replies
Login or Register to Ask a Question