How can I add 4 lines together and then read the next 4 lines?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting How can I add 4 lines together and then read the next 4 lines?
# 29  
Old 11-26-2008
I am sorry. I mixed it up I guess..

It works with
Code:
awk -F= 'END {
  if (t)
    print e, "Total:", t
}
/\.exe/ {
  if (t)
    print e, "Total:", t
  t = 0
  e = $0
  }
/Total/ { t += $NF }
' nisse_081121_11.log

But I do not get it working if I add the code to a script.

Last edited by radoulov; 11-26-2008 at 07:01 AM.. Reason: added code tags
# 30  
Old 11-26-2008
Please post your script and try to explain what exactly is the problem with it.
# 31  
Old 11-26-2008
cat test
END {
if (t)
print e, "Total:", t
}
/\.exe/ {
if (t)
print e, "Total:", t
t = 0
e = $0
}
/Total/ { t += $NF }

#awk -f test nisse_081121_11.log
081125_08:38 14315 2.39 SOM.exe Total: 56098
081125_09:38 14315 2.32 SOM.exe Total: 57220

It works when the it looks lite A0 Total = 12333, but not when I have
A0 Total = 12333 Alarm Objects


#cat nisse_081121_11.log

DATE PID CPU COMMAND
081125_08:38 14315 2.39 SOM.exe

OPERATIONAL CONTEXT 1
AO Total = 8867 Alarm Objects
AO Outstanding = 42
AO Acknowledged = 0
AO Terminated = 8825
AO Not Handled = 42
AO Handled = 0
AO Closed = 8825
AO Archived = 0

OPERATIONAL CONTEXT 2
AO Total = 2570 Alarm Objects
AO Outstanding = 2365
AO Acknowledged = 32
AO Terminated = 173
AO Not Handled = 2397
AO Handled = 0
AO Closed = 173
AO Archived = 0

OPERATIONAL CONTEXT 3
AO Total = 403 Alarm Objects
AO Outstanding = 312
AO Acknowledged = 2
AO Terminated = 89
AO Not Handled = 314
AO Handled = 0
AO Closed = 89
AO Archived = 0

OPERATIONAL CONTEXT 4
AO Total = 44258 Alarm Objects
AO Outstanding = 650
AO Acknowledged = 0
AO Terminated = 43608
AO Not Handled = 650
AO Handled = 0
AO Closed = 43608
AO Archived = 0

DATE PID CPU VSZ SZ COMMAND
081125_09:38 14315 2.32 798928 198257 SOM.exe

OPERATIONAL CONTEXT 1
AO Total = 9002
AO Outstanding = 46
AO Acknowledged = 0
AO Terminated = 8956
AO Not Handled = 46
AO Handled = 0
AO Closed = 8956
AO Archived = 0

OPERATIONAL CONTEXT 2
AO Total = 2543
AO Outstanding = 2357
AO Acknowledged = 32
AO Terminated = 154
AO Not Handled = 2389
AO Handled = 0
AO Closed = 154
AO Archived = 0

OPERATIONAL CONTEXT 3
AO Total = 434
AO Outstanding = 312
AO Acknowledged = 2
AO Terminated = 120
AO Not Handled = 314
AO Handled = 0
AO Closed = 120
AO Archived = 0

OPERATIONAL CONTEXT 4
AO Total = 45241
AO Outstanding = 664
AO Acknowledged = 0
AO Terminated = 44577
AO Not Handled = 664
AO Handled = 0
AO Closed = 44577
AO Archived = 0

> awk -f test nisse_081121_11.log
081125_09:38 14315 2.32 SOM.exe Total: 57220
[root@knasen]>
# 32  
Old 11-26-2008
You should run the script like this:

Code:
awk -F= -f test nisse_081121_11.log

Or, if you prefer, change the AWK code like this:

Code:
END {
  if (t)
    print e, "Total:", t
  }
/\.exe/ {
  if (t)
    print e, "Total:", t
  t = 0
  e = $0
  }
/Total/ { t += $NF }
BEGIN { FS = "=" }

... and run the script like you did before.
# 33  
Old 11-26-2008
Thanks a lot for your perseverance. I appreciate it a lot. It helped me to rationalize the work. Smilie
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Read few last lines of a file

Hi, I have a txt file in below format - START 1 2 3 4 END START 5 6 7 8 END START 9 10 END (8 Replies)
Discussion started by: bhupinder08
8 Replies

2. Shell Programming and Scripting

Extract some lines from one file and add those lines to current file

hi, i have two files. file1.sh echo "unix" echo "linux" file2.sh echo "unix linux forums" now the output i need is $./file2.sh unix linux forums (3 Replies)
Discussion started by: snreddy_gopu
3 Replies

3. Shell Programming and Scripting

search and replace, when found, delete multiple lines, add new set of lines?

hey guys, I tried searching but most 'search and replace' questions are related to one liners. Say I have a file to be replaced that has the following: $ cat testing.txt TESTING AAA BBB CCC DDD EEE FFF GGG HHH ENDTESTING This is the input file: (3 Replies)
Discussion started by: DeuceLee
3 Replies

4. UNIX for Dummies Questions & Answers

When reading a csv file, counter to read 20 lines and wait for minute then read next 20 till end

Hello All, i am a newbie and need some help when reading a csv file in a bourne shell script. I want to read 10 lines, then wait for a minute and then do a reading of another 10 lines and so on in the same way. I want to do this till the end of file. Any inputs are appreciated ... (3 Replies)
Discussion started by: victor.s
3 Replies

5. Shell Programming and Scripting

How to read different lines into column

Dear experts, Need your great help ! The input file is as follows: Name: test01 Name UID: C7:9D:79:52:2A:3F:DF:11:A8:64:00:60:16:36:04:02 Shareable: YES HBA/SP Pairs: HBA UID SP Name SPPort ------- ... (9 Replies)
Discussion started by: tojzz
9 Replies

6. Shell Programming and Scripting

Help!! Need script to read files and add values by lines...

Hi All, I really need your help. I am a begginner in shell script and I believe this is a very simple issue. I have in my directory, n-files, like 1.dhm, 2.dhm, 3.dhm. These files have 1 column with 1 value per line, like: 1.dhm ------ 10 20 30 40 50 2.dhm ------ 30 50 20 (3 Replies)
Discussion started by: dhuertas
3 Replies

7. UNIX for Dummies Questions & Answers

How to count lines - ignoring blank lines and commented lines

What is the command to count lines in a files, but ignore blank lines and commented lines? I have a file with 4 sections in it, and I want each section to be counted, not including the blank lines and comments... and then totalled at the end. Here is an example of what I would like my... (6 Replies)
Discussion started by: kthatch
6 Replies

8. Shell Programming and Scripting

read some lines from file!!!

any idea please!!! I want to pick up all lines of "state" and "desc" from x files: ... # state blah blah blah blah ... .. # desc blah blah blah .... Thx Andy (7 Replies)
Discussion started by: andy2000
7 Replies

9. UNIX for Dummies Questions & Answers

Read lines from file

i have a problem on my bourne shell script. I want to read line by line and then stop when the line does not have letters or is an empty string. But i encounter an error at "while ". The error nessage is "test.sh: test: unknown operator line". Can anyone help me on this thanks :) (2 Replies)
Discussion started by: sagolo
2 Replies

10. UNIX for Dummies Questions & Answers

how to read lines one by one from a file

I have one file in which some commands have written line line i have to read lines from this file(file name passed as avariable) and then i have to execute these commands.. how can i do it? (5 Replies)
Discussion started by: bihani4u
5 Replies
Login or Register to Ask a Question