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
IBV_RC_PINGPONG(1)						   USER COMMANDS						IBV_RC_PINGPONG(1)

NAME
ibv_rc_pingpong - simple InfiniBand RC transport test SYNOPSIS
ibv_rc_pingpong [-p port] [-d device] [-i ib port] [-s size] [-r rx depth] [-n iters] [-l sl] [-e] HOSTNAME ibv_rc_pingpong [-p port] [-d device] [-i ib port] [-s size] [-r rx depth] [-n iters] [-l sl] [-e] DESCRIPTION
Run a simple ping-pong test over InfiniBand via the reliable connected (RC) transport. OPTIONS
-p, --port=PORT use TCP port PORT for initial synchronization (default 18515) -d, --ib-dev=DEVICE use IB device DEVICE (default first device found) -i, --ib-port=PORT use IB port PORT (default port 1) -s, --size=SIZE ping-pong messages of size SIZE (default 4096) -r, --rx-depth=DEPTH post DEPTH receives at a time (default 1000) -n, --iters=ITERS perform ITERS message exchanges (default 1000) -l, --sl=SL use SL as the service level value of the QP (default 0) -e, --events sleep while waiting for work completion events (default is to poll for completions) SEE ALSO
ibv_uc_pingpong(1), ibv_ud_pingpong(1), ibv_srq_pingpong(1) AUTHORS
Roland Dreier <rolandd@cisco.com> BUGS
The network synchronization between client and server instances is weak, and does not prevent incompatible options from being used on the two instances. The method used for retrieving work completions is not strictly correct, and race conditions may cause failures on some systems. libibverbs August 30, 2005 IBV_RC_PINGPONG(1)
All times are GMT -4. The time now is 03:36 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy