Major Awk problems (Searching, If statements, transposing etc.)


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Major Awk problems (Searching, If statements, transposing etc.)
# 1  
Old 05-04-2005
Major Awk problems (Searching, If statements, transposing etc.)

Please bare with me as task is very detailed and I'm extremely new to Awk/sed. Keep in mind I'm running windows so I'm using a dos prompt

The attachment is a server report that I'm trying to manipulate with little success. For each server, I need to take the most recent information about them and then have them put into a file. After I have the most recent information, I have to transpose my rows into columns so instead of:

System Availability 100.00%
Total Uptime 551d 8h 12m 23s
Total Downtime 0d 0h 24m 51s
Total Reboots 11
Mean Time Between Reboots 50.12 days
Total Bluescreens 0

I would get:
System Availability Total Uptime Total Downtime
100.00% 551d 8h 12m 23 s 0d 0h 24m 51s

the rest of the rows would be included also.

However, some of the servers have two different sets of information and I need the most recent. Also, some of the servers do not display all of the information so I need still need those rows to be aligned in the proper columns.

I've been working on this for awhile so any help will be greatly appreciate.

Thanks
# 2  
Old 05-04-2005
This uses a few arrays...
Code:
$1 == "**********************"  {
        getline
        sv = $1   
        su[sv] = tu[sv] = td[sv] = "-"    
        getline
}

/System Availability/   { 
        sa[sv] = $3    
}

/Total Uptime/  { 
        tu[sv] = $3 " " $4 " " $5 " " $6
}

/Total Downtime/        { 
        td[sv] = $3 " " $4 " " $5 " " $6
}

END {
        fmt = "%-15s%20s%20s%20s\n"
        printf fmt, "Server", "System Availability", "Total Uptime", "Total Downtime"
        for (sv in sa) {
                printf fmt, sv, sa[sv], tu[sv], td[sv]
        }
}

Tested on the sample file...
Code:
Server          System Availability        Total Uptime      Total Downtime
saturn2                      99.99%     95d 18h 16m 53s       0d 0h 18m 31s
dione                        99.79%    1044d 2h 32m 56s       2d 3h 47m 19s
portia                      100.00%     36d 23h 33m 19s         0d 0h 2m 9s
mercury                      99.99%      77d 19h 31m 5s        0d 0h 6m 39s
:

# 3  
Old 09-05-2007
what about a file to be transposed with something like:

System Availability 100.00%
Total Uptime 551d 8h 12m 23s
Total Downtime 0d 0h 24m 51s
Total Reboots 11
Mean Time Between Reboots 50.12 days
Total Bluescreens 0


System Availability 100.00%
Total Uptime 534d 7h 1m 12s
Total Downtime 0d 0h 24m 51s
Total Reboots 11
Mean Time Between Reboots 50.12 days
Total Bluescreens 0


so the System Availability, Total Uptime etc is output once at the top of the column and just the information is extracted after that e.g.

System Availability Total Uptime Total Downtime ......
100.00% 551d 8h 12m 23s 0d 0h 24m 51s ......
100.00% 534d 7h 1m 12s 0d 0h 24m 51s .......
........
........

I'm really new to this so it would be great if you could help me out thanks.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Searching for pattern in variable using case statements

i would like to search a variable for a pattern, without having make any calls to external tools. i have a code like this: COUNTPRO2="gine is very bad vine is pretty good" case "${COUNTPRO2}" in *vine*) factor=${COUNTPRO2} echo $factor ;; esac If the variable contains... (7 Replies)
Discussion started by: SkySmart
7 Replies

2. Shell Programming and Scripting

awk with many if statements

Hi What is the right structure to use awk with multiple If statements The following code doesn't work # awk ' { A = $1 } END { for ( i = 1; i <= c; i++ ) { if ( A == 236 && A ==199... (7 Replies)
Discussion started by: khaled79
7 Replies

3. Shell Programming and Scripting

Nested awk Statements

Hello again everyone, yes, I'm back again for more help! So I'm attempting to read two separate files and generate some XML code from that. My current code is: BEGIN { print "<?xml version=\"1.0\" encoding=\"utf-8\">" print "<Export>" } { x=1; print "<section name=\"Query" NR "\">"... (5 Replies)
Discussion started by: Parrakarry
5 Replies

4. Shell Programming and Scripting

Awk/sed script for transposing any number of rows with header row

Greetings! I have been trying to find out a way to take a CSV file with a large number of rows, and a very large number of columns (in the thousands) and convert the rows to a single column of data, where the first row is a header representing the attribute name and the subsequent series of... (3 Replies)
Discussion started by: tntelle
3 Replies

5. Shell Programming and Scripting

awk problem - combining awk statements

i have a datafile that has several lines that look like this: 2,dataflow,Sun Mar 17 16:50:01 2013,1363539001,2990,excelsheet,660,mortar,660,4 using the following command: awk -F, '{$3=strftime("%a %b %d %T %Y,%s",$3)}1' OFS=, $DATAFILE | egrep -v "\-OLDISSUES," | ${AWK} "/${MONTH} ${DAY}... (7 Replies)
Discussion started by: SkySmart
7 Replies

6. Shell Programming and Scripting

Execution Problems with if statements

Hi all, I habe a file called test.log, which contain following data : 0.0 0.1 0.1 0.1 0.1 0.2 0.3 0.3 0.4 0.4 0.6 8.7 8.8 17.2 I want to show the data which gater than 9.0 But my script not working. (4 Replies)
Discussion started by: mnmonu
4 Replies

7. Shell Programming and Scripting

Transposing text using AWK

Well I thought that this would be a fairly straight forward operation but perhaps I'm complicating it more in my mind. I have a simple data.txt file containing candidate information in the following format: "ANTONIA ROJAS SALES" "Feminino" "13/06/1954" "Casado(a)" "Brasileira... (6 Replies)
Discussion started by: daveyabe
6 Replies

8. Shell Programming and Scripting

awk, string as record separator, transposing rows into columns

I'm working on a different stage of a project that someone helped me address elsewhere in these threads. The .docs I'm cycling through look roughly like this: 1 of 26 DOCUMENTS Copyright 2010 The Age Company Limited All Rights Reserved The Age (Melbourne, Australia) November 27, 2010... (9 Replies)
Discussion started by: spindoctor
9 Replies

9. Shell Programming and Scripting

Transposing columns with awk

I want a sweet simple time efficient awk script in online which gets output 001_r 0.0265185 0.0437049 0.0240642 0.0310264 0.0200482 0.0146746 0.0351344 0.0347856 0.036119 1.49 firstcoloumnvalue allvaluesof 'c' in one row 001_r : 002_r c: 0.0265185 N: 548 001_r : 007_r c:... (5 Replies)
Discussion started by: phoenix_nebula
5 Replies

10. Shell Programming and Scripting

having problems with IF statements

below is a sample of the shell script im trying to get working. if the script is run with no data it should display the usage. if data1 is given it should grep with todays date and if data1 and a date are giving it should grep using the date given. please let me know what im doing wrong ive tried... (5 Replies)
Discussion started by: jrelax
5 Replies
Login or Register to Ask a Question