Visit Our UNIX and Linux User Community


Filter output as an array element


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Filter output as an array element
# 1  
Old 04-25-2012
Filter output as an array element

I am filtering the value of Server status from a file and am storing it in a temp file which I compare later to exit with appropriate status. I am wondering if I can directly output the value of Server status as an array element and then compare the value of elements to get the right exit status

Code:
#!/bin/csh -f
cat srvoff | /usr/bin/grep -i 'Tx Server Status' | /usr/bin/awk '{print $4}' > /tmp/status
cat srvoff | /usr/bin/grep -i 'Eg Server Status' | /usr/bin/awk '{print $4}' >> /tmp/status
cat srvoff | /usr/bin/grep -i 'ASM Server Status' | /usr/bin/awk '{print $4}' >> /tmp/status
cat srvoff | /usr/bin/grep -i 'Int server' | /usr/bin/awk '{print $3}' >> /tmp/status
cat srvoff | /usr/bin/grep -i 'DIPoller' | /usr/bin/awk '{print $4}' >> /tmp/status

set new = `cat /tmp/status`
set new = ( $new )
rm /tmp/status

if ( "$new[1]" =~ Active && "$new[2]" =~ Active && "$new[3]" =~ Active && "$new[4]" =~ Active && "$new[5]" =~ Active) then
    exit 110
else if (  "$new[1]" =~ NOT && "$new[2]" =~ NOT && "$new[3]" =~ NOT && "$new[4]" =~ NOT && "$new[5]" =~ NOT ) then
   exit 100
else
   exit 1


Last edited by Scrutinizer; 04-25-2012 at 07:42 PM.. Reason: code tags
# 2  
Old 04-25-2012
How about this:

Code:
#!/bin/csh -f
set new = ( `awk '/Tx Server Status|Eg Server Status|ASM Server Status|DIPoller/ {print $4} /Int server/ {print $3}' srvoff` )
 
if ( "$new[1]" =~ Active && "$new[2]" =~ Active && "$new[3]" =~ Active && "$new[4]" =~ Active && "$new[5]" =~ Active) then
exit 110
else if ( "$new[1]" =~ NOT && "$new[2]" =~ NOT && "$new[3]" =~ NOT && "$new[4]" =~ NOT && "$new[5]" =~ NOT ) then
exit 100
else
exit 1
endif

This User Gave Thanks to Chubler_XL For This Post:
# 3  
Old 04-27-2012
wow that did the trick. Thanks

Previous Thread | Next Thread
Test Your Knowledge in Computers #496
Difficulty: Easy
Many programming languages assign special meaning to keywords such as for, if, and while (for example) that are used to define various control structures.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Array Element

This question is for someone that's more familiar with Array Element. I need to know if the maximum array element that can be assigned is 1024 and if its so, Is there a workaround solution when the counter exceeded 1024? param_array="$param_nam" counter=$counter+1 #to avoid space... (3 Replies)
Discussion started by: cumeh1624
3 Replies

2. Shell Programming and Scripting

How to insert an array element within regex?

Hello to all, I'm trying to separate the string "str" using a regex within match function. The substrings that I want to separate, begin with 22, 23, 24 or 25 and followed by 12 or 14 characters. And I want to replace 22 with MJS, 23 with UYT, 24 with WER and 25 with PIL. For this string... (4 Replies)
Discussion started by: Ophiuchus
4 Replies

3. Shell Programming and Scripting

ksh insert element in array

Hi all, I need help with the following scenario in ksh. If the number of elements contained by arrayA is 11 I need to insert a zero as the element arrayA then print all arrayA elements separated by comma. Appreciate your help. (9 Replies)
Discussion started by: ejianu
9 Replies

4. Shell Programming and Scripting

Multiplying array element

I am trying to take all the elements of an array and multiply them by 2, and then copy them to a new array. Here is what I have i=0 for true in DMGLIST do let DMGSIZES2="${DMGSIZES}"*2 let i++ done unset i echo ${DMGSIZES2} It does the calculation correctly for the first element,... (7 Replies)
Discussion started by: nextyoyoma
7 Replies

5. Shell Programming and Scripting

previous element in the array perl

Hi, How to get previous/next element in the array perl Example @queue = (1, 2 ,3 , 4); I want to get value of 1 and 2, or, 2 and 3, or 3 and 4...etc and compare to value which one is greater to do that I need to get previous and next element of array ? (1 Reply)
Discussion started by: guidely
1 Replies

6. Shell Programming and Scripting

How to assign an array element to a variable

Hi every one.. I'm new to shell scripting... I would like to assign a single array element to a variable... Is it possible to do it.... Could any body help me.... (3 Replies)
Discussion started by: kaushik_87
3 Replies

7. Shell Programming and Scripting

remove an element from array

I need to remove an element from the below array variable TABLENAME. #!/bin/ksh set -A TABLENAME "mirf roxar keke mirs" echo "the array is ${TABLENAME}" If i need to remove say keke and have the final TABLENAME as below, how this could be achieved. Pls throw some light. echo "Modified... (3 Replies)
Discussion started by: michaelrozar17
3 Replies

8. Shell Programming and Scripting

HELP unsetting array element in loop

I have a loop and I need to be able to unset the array element that I am currently accessing in it. I was thinking of making a counter that increments with the loop and doing unset $dirs but if I do that I am not sure if the other members of the array would get shifted down in index (meaning that... (2 Replies)
Discussion started by: msf5042
2 Replies

9. Shell Programming and Scripting

Shift array element

I want to delete and 0th element of array in shell scrpit and also shift all others to one level up. (2 Replies)
Discussion started by: darshakraut
2 Replies

10. Shell Programming and Scripting

accessing my first element of array

Hello everyonel, I have an array set like so num=4 read name arr=name I go through while loop to assign different values to different array element from 1 to 4. when I try to access the FIRST element of the array I get the last one first. Like if I say ${arr} it will show the last element... (4 Replies)
Discussion started by: afadaghi
4 Replies

Featured Tech Videos