Sponsored Content
Full Discussion: Count script wrapper help
Top Forums Shell Programming and Scripting Count script wrapper help Post 302312124 by durden_tyler on Thursday 30th of April 2009 12:32:07 PM
Old 04-30-2009
Maybe something like this. Please go through the script comments carefully to understand the flow of logic.

Code:
#!perl -w
my %counts;
my @subnettype;
my @dnsoptions;
my @dnsoptions2;
my @subnetpart2;
my $snetpart2;
my $subnet;
open(my $log, ">log-subnet.txt") or die "Could not open log: $!\n";
printf $log "Subnet,Static,DHCP,Unused\n";
##### Step 1, read subnets
open(my $in, "<m-names2.txt") or die "Could not open m-names2.txt: $!\n";
while(<$in>) {
  next unless /(.*?)\/(.*)$/;
  $subnet = $1;
  print "Checking $subnet\n";
  @dnsoptions = `./getobjectlst.exe -u Xxx-p Xxx -a $subnet -o rich`;
  # Now, at this point, we may have "Error 48" in @dnsoptions, or we may have
  # the nicely formatted output. We'll have to check for both cases here.
  # Let's check the unsuccessful case first. The condition below checks if
  # the first element of @dnsoptions array has the following text in it -
  # "Error 48: This subnet does not exist." in it.
  if ($dnsoptions[0] =~ /Error 48: This subnet does not exist./) {
    # call "getsubnetlst.exe", passing $subnet as one of the parameters
    @subnetpart2 = `./getsubnetlst.exe -u Xxx -p Xxx -a $subnet -t netwrok -o rich`;
    # now loop through each element of the array @subnetpart2, which looks like this - 
    # ##########################################################################
    # "East" "146.149.1.0" "N" "" "146.149.0.0" " " " " "255.255.255.128"
    # ##########################################################################
    # pick up the 2nd field from the left (e.g. 146.149.1.0 above), and pass it as
    # a parameter to the cli "getobjectlst.exe".
    foreach my $line (@subnetpart2) {
      # get the 2nd field from the left
      $snetpart2 = (split/"\s+"/, $line)[1];
      # and now pass it to "getobjectlst.exe"; assign the output to
      # the array @dnsoptions2
      @dnsoptions2 = `./getobjectlst.exe -u Xxx-p Xxx -a $snetpart2 -o rich`;
      # find out counts of each subnettype (4th field from left)
      foreach my $line (@dnsoptions2) {
        @subnettype = split/"\s+"/, $line;
        $counts{$subnettype[3]}++;
      }
    }
  } else # successful output from getobjectlst.exe
  {
    # find out counts of each subnettype (4th field from left)
    foreach my $line (@dnsoptions) {
      @subnettype = split/"\s+"/, $line;
      $counts{$subnettype[3]}++;
    }
  }
  printf $log "%s,%d,%d,%d\n", $subnet, ($counts{Static} or 0), ($counts{DHCP} or 0), ($counts{Unused} or 0);
  %counts = ();
}
close($in);
close($log);

Hope that helps,
tyler_durden

_______________________________________________________________________________________
"If you don't claim your humanity you will become a statistic. You have been warned."
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

What is wrapper script and how to write

hi guys, I have a requirement to run a script 4 times with different parameter values. the 4 jobs have to run parallely which actually access different data of same table and deletes. how can i achieve this.................? Thanks in advance (1 Reply)
Discussion started by: chiru
1 Replies

2. UNIX for Dummies Questions & Answers

What is a wrapper script

I tried searching the forum ,,but couldn't locate ..Can anyone give me a link or some information about wrapper script. (1 Reply)
Discussion started by: thana
1 Replies

3. Shell Programming and Scripting

Korn Shell Wrapper script

Hi Guys, I am trying write a wrapper script but I don't have any idea. I have 4 different korn shell scripts and all of them needs some parameters from command line (positional parameter). My script cant be interactive because its supposed to be automated. I am confused how can I write a wrapper... (6 Replies)
Discussion started by: pareshan
6 Replies

4. Shell Programming and Scripting

Help with a wrapper script not working

Hello, I have the below wrapper script: #!/usr/bin/perl -w if ($^O eq 'MSWin32' ) { $subnet = 'c:\path\to\subnet.txt'; } else { $subnet = '/opt/qip/wrapper-del-sub'; } open FH1, 'jj-deleted-subnets.txt' or die "Can't open 'jj-deleted-subnets.txt' ... (0 Replies)
Discussion started by: richsark
0 Replies

5. Shell Programming and Scripting

wrapper script in perl

Hi, I am in need of way to facilitate this senerio in a perl script. I have CLI ( command line interface) which I run like so: kip-tepltist -u Xxx -p Xxx Which produces tones of names from each template it found: 194Iselin-NJ 33-IDFLB-North-611-Woodward-8600 ... (5 Replies)
Discussion started by: richsark
5 Replies

6. Shell Programming and Scripting

Wrapper Script Help With Perl Scripts

I have tried looking through wrapper scripts throughout the forum, but I don't think they were able to answer my question (either that or I'm just confused). Basically, I have a Perl script that I want to run in parallel 4 times with parameters, wait for all of them to finish, then run another... (8 Replies)
Discussion started by: kooshi
8 Replies

7. UNIX for Advanced & Expert Users

Pass parameter to the main script from wrapper script

Hi, I am writing a wrapper script(wrap_script.sh) to one of the main scripts (main_script.sh) The main script is executed as following: ./main_script.sh <LIST> <STARTDATE> <ENDDATE> looks for a parameter which is a LIST(consists of different list names that need to be processed), START/END... (0 Replies)
Discussion started by: stunnerz_84
0 Replies

8. Shell Programming and Scripting

Wrapper script Oracle look KSH

I have a KSH script that I want to call in a loop for each row in the above table --- new_script.ksh (psuedo code) the contents on this new script would be something like below... for t in (select table_name,schema_name from laod_table) loop /bin/load_table.ksh t.table_name... (4 Replies)
Discussion started by: vr23
4 Replies

9. Shell Programming and Scripting

problem with the my wrapper script

Hi friends, i am working in ksh88. i am running the follwing wapper script in background to run two jobs parallely((eg nohup wrapper.ksh &):: wrapper.ksh ######################## #!/bin/ksh nohup ./pii_insert.ksh /nsing83/p2/test & nohup ./pii_update.ksh... (1 Reply)
Discussion started by: neelmani
1 Replies

10. Shell Programming and Scripting

Help needed on wrapper script

Hi Gurus, I need to build a wrapper script which will be passing the loading date and the data file name (provides option to the user to load a single data file or load all the data files) to the actual loader data_load.ksh to load in the database. 1. I want to execute the loader script... (6 Replies)
Discussion started by: express14
6 Replies
IBDMCHK(1)						       IB DATA MODEL PACKAGE							IBDMCHK(1)

NAME
IBDM - Network Checker and Attributes Analyzer SYNOPSYS
ibdmchk has two operation modes: design and verification. DESIGN: ibdmchk [-v][-h][-u][-a <roots file>] -t <topology file> -n <SM Node> -p <SM Port> [-e] [-l <lmc>] VERIFICATION: ibdmchk [-v][-h][-r <roots file>] [-s <subnet file>] [-f <fdb file>] [-l <lmc>] DESIGN MODE DESCRIPTION
The Design mode is intended to be used before the cluster is built. It provides basic checks of the specified network as described by a topology file. After simulating the SM LID assignment and routing algorithms it provides reports of the (H)CA to (H)CA paths depth his- togram and credit deadlock potential in the resulting routing scheme. ARGUMENTS
: -t|--topo <topo file> The topology file specifying the network. See man ibdm-topology-file -n|--node <SM Node> The name of the Subnet Manager node (syntax: <Topo-File-System>/U1) -p|--port <SM Port> The port number by which the SM nodes is attached to the fabric. OPTIONS
-v|--verbose Verbsoe mode -h|--help Provides this help message -l|--lmc <lmc> LMC value > 0 means assigning 2^lmc lids to each port. -e|--enh Use enhanced routing algorithm when LMC > 0 and report the resulting paths correlation (using same system/node) histogram -u|--updn Use up/down routing algorithm instead of OpenSM min-hop. -r|--roots <roots file> A file with all the roots node names (one on each line). VERIFICATION MODE DESCRIPTION
After the cluster is built and OpenSM is run (using flag -D 0x43) it reports the subnet and FDB tables into the files osm-subnet.lst, osm.fdbs and osm.fdbs in /var/log/ (or subnet.lst, osm.fdbs and osm.mcfdbs into /tmp in older OpenSM versions). Based on these files the utility checks all CA to CA connectivity. Further analysis for credit deadlock potential is performed and reported. In case of an LMC > 0 it reports histograms for how many systems and nodes are common between the different paths for the same port pairs. ARGUMENTS
-l|--lmc <lmc> The LMC value used while running OpenSM. Mandatory if not the default 0. OPTIONS
-v|--verbose Verbsoe mode -h|--help Provides this help message -s|--subnet <file> OpenSM subnet.lst file (default is /var/log/osm-subnet.lst or /tmp/subnet.lst) -f|--fdb <file> OpenSM dump of Ucast LFDB. Use -D 0x41 to generate it (default is /var/log/osm.fdbs or /tmp/osm.fdbs). -m|--mcfdb <file> OpenSM dump of Multicast LFDB. Use -D 0x41 to generate it (default is /var/log/osm.mcfdbs or /tmp/osm.mcfdbs). -r|--roots <roots file> A file holding all root nodes guids (one per line). AUTHOR
Eitan Zahavi, Mellanox Technologies LTD, eitan@mellanox.co.il IBDM 1.0 2008-06-16 IBDMCHK(1)
All times are GMT -4. The time now is 06:10 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy