Sponsored Content
Top Forums Shell Programming and Scripting Dynamic Variable Based on Count Post 302280688 by earnstaf on Tuesday 27th of January 2009 11:45:03 AM
Old 01-27-2009
Dynamic Variable Based on Count

I'm trying to assign variables that include the current value of a count, but I can't seem to get it working... this script is incomplete, but some guidance on how to use a dynamic variable would be helpful:

Sample Input:
Code:
bash-2.03$ more sg2.txt
Results for group6
443
1394

Results for group7
15191-15199
15240
15130-15133
15257
15231
15147-15159

Results for group8
15255
15257

Results for group9
104-104 (udp)
104

Results for group10
2380-2381
2370-2371

Like I said, this is incomplete and there may be more efficient ways of doing this, but I need help with the denoted portion:
Code:
#!/bin/bash
COUNT=1
ENHANCE=0
while read line
do

case "$line" in

Results*) NAME=`echo "$line" | cut -d " " -f 3` ;;
[0-9]*udp*) PORTa=`echo "$line" | cut -d "-" -f 1`; PORTb=`echo "$line" | cut -d "-" -f 2 | cut -d " " -f 1`
            if [ $PORTa = $PORTb ]; then
            PORT$COUNT="service-object udp $PORTa"
            else
            PORT$COUNT="service-object udp range $PORTa $PORTb"
            fi
            COUNT=`expr $COUNT + 1`
            ENHANCE=1 ;;
ping) PORT$COUNT="echo "service-object icmp""
      COUNT=`expr $COUNT + 1`
      ENHANCE=1 ;;
[0-9]*) case "$line" in
         [0-9]*-[0-9]*) PORTa=`echo "$line" | cut -d "-" -f 1`; PORTb=`echo "$line" | cut -d "-" -f 2 | cut -d " " -f 1` ;
                       PORT$COUNT="service-object tcp range $PORTa $PORTb" ;
                       COUNT=`expr $COUNT + 1` ;;
         [0-9]*) "echo "service-object tcp $line""
                COUNT=`expr $COUNT + 1` ;;
        esac;;
*) if [ $ENHANCE -eq 0 ]; then
     echo "object-group service $NAME tcp"
     PORTCOUNT=1
     while [ $PORTCOUNT -lt $COUNT ]
     do
     echo "$(PORT$PORTCOUNT)"
     PORTCOUNT=`expr $PORTCOUNT + 1`
    done
        else
     PORTCOUNT=1
     while [ $PORTCOUNT -lt $COUNT ]; do
     echo "$PORT$PORTCOUNT"
     PORTCOUNT=`expr $PORTCOUNT + 1`
     done
   fi
esac
done < sg2.txt

 

8 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Dynamic naming based on file content

I was just thinking if there is a way where i can dynamically rename files based on the actual file content. I have a load of pdf's which have been named wrongly. (We normally put date first, then brief description, then title) So can a script be written wherin, it pulls out the date and title... (2 Replies)
Discussion started by: deaddevil
2 Replies

2. Shell Programming and Scripting

Dynamic SQL query based on shell script parameters

Hi, I need a script that will run a dynamic Oracle SQL. Dynamic meaning the SQL statement depends on the parameter. For instance, something like this: #!/bin/ksh -x # Set environment . /home/mine/set_vars sqlplus $LOGINID <<! >> /home/mine/log.txt select count(1) from $1 where... (2 Replies)
Discussion started by: laiko
2 Replies

3. UNIX for Dummies Questions & Answers

How to set a variable with a count variable i.e. VARIABLE$COUNT

Hi All I've very nearly finished this script I'm working on but have hit another idiots problem, after googling I can't see a solution for this one. I have a while count loop that checks checks two consecutive values then increments the count by two. What the script has to do is then check... (5 Replies)
Discussion started by: Bashingaway
5 Replies

4. Shell Programming and Scripting

Help Dynamic looping based on files

Hi I have to run the script (a part of the code) in a loop for the no of times the files present in the directory, by taking one file and process and next another file. For example, if we do ls and the result have: $ls abc.dat def.dat ghi.dat The script code should loop for 3... (4 Replies)
Discussion started by: karumudi7
4 Replies

5. Red Hat

Dynamic case creation based on output list from a command

I am attempting to create a script that would allow me to list all the instances associated with a DB2 and then prompt the user to choose which one to issue the db2profile command against. I use the db2 command db2ilist to get a list of the instances for a particular server, but the number of... (1 Reply)
Discussion started by: slatoms
1 Replies

6. Shell Programming and Scripting

Dynamic case creation based on output list from a command

I am attempting to create a script that would allow me to list all the instances associated with a DB2 and then prompt the user to choose which one to issue the db2profile command against. I use the db2 command db2ilist to get a list of the instances for a particular server, but the number of... (7 Replies)
Discussion started by: slatoms
7 Replies

7. Shell Programming and Scripting

Passing dynamic variable within another variable.

I have a small program which needs to pass variable dynamically to form the name of a second variable whose value wil be passed on to a third variable. ***************** Program Start ****************** LOC1=/loc1 PAT1IN=/loc2 PAT2IN=/loc3 if ; then for fpattern in `cat... (5 Replies)
Discussion started by: Cyril Jos
5 Replies

8. UNIX for Dummies Questions & Answers

Count dynamic words in file

Hello, i want built a log analyzer for nginx. Okay and i use it as training for the shell tools. The most what i want i could relize. But i has trouble with dynamic things. I have the IP address extracted and has set the geo localtion for the ip. I would like to count the countries. With... (3 Replies)
Discussion started by: sisihagen
3 Replies
COUNT(3)								 1								  COUNT(3)

count - Count all elements in an array, or something in an object

SYNOPSIS
int count (mixed $array_or_countable, [int $mode = COUNT_NORMAL]) DESCRIPTION
Counts all elements in an array, or something in an object. For objects, if you have SPL installed, you can hook into count(3) by implementing interface Countable. The interface has exactly one method, Countable::count, which returns the return value for the count(3) function. Please see the Array section of the manual for a detailed explanation of how arrays are implemented and used in PHP. PARAMETERS
o $array_or_countable - An array or Countable object. o $mode - If the optional $mode parameter is set to COUNT_RECURSIVE (or 1), count(3) will recursively count the array. This is particu- larly useful for counting all the elements of a multidimensional array. Caution count(3) can detect recursion to avoid an infinite loop, but will emit an E_WARNING every time it does (in case the array contains itself more than once) and return a count higher than may be expected. RETURN VALUES
Returns the number of elements in $array_or_countable. If the parameter is not an array or not an object with implemented Countable inter- face, 1 will be returned. There is one exception, if $array_or_countable is NULL, 0 will be returned. Caution count(3) may return 0 for a variable that isn't set, but it may also return 0 for a variable that has been initialized with an empty array. Use isset(3) to test if a variable is set. EXAMPLES
Example #1 count(3) example <?php $a[0] = 1; $a[1] = 3; $a[2] = 5; $result = count($a); // $result == 3 $b[0] = 7; $b[5] = 9; $b[10] = 11; $result = count($b); // $result == 3 $result = count(null); // $result == 0 $result = count(false); // $result == 1 ?> Example #2 Recursive count(3) example <?php $food = array('fruits' => array('orange', 'banana', 'apple'), 'veggie' => array('carrot', 'collard', 'pea')); // recursive count echo count($food, COUNT_RECURSIVE); // output 8 // normal count echo count($food); // output 2 ?> SEE ALSO
is_array(3), isset(3), strlen(3). PHP Documentation Group COUNT(3)
All times are GMT -4. The time now is 08:49 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy