Sponsored Content
Full Discussion: Count script wrapper help
Top Forums Shell Programming and Scripting Count script wrapper help Post 302312377 by richsark on Friday 1st of May 2009 08:01:24 AM
Old 05-01-2009
Hi ,

This is what the end result to your code: Unless I pasted it wrong.

I still get that dang error ( but looks a little different)

Checking 10.0.0.0/8
Checking 146.149.0.0/16
Error 48: This subnet does not exist.
146.149.0.0/16
getobjectlst.exe :146.149.0.0/16: Error code = 48
dnsoptions is null or undefined, going on to the next subnet
Checking 161.16.0.0/16
Error 48: This subnet does not exist.
161.16.0.0/16
getobjectlst.exe :161.16.0.0/16: Error code = 48
dnsoptions is null or undefined, going on to the next subnet
Checking 161.56.0.0/16

Code:
#!perl -w
my %counts;
my @subnettype;
my @dnsoptions;
my @dnsoptions2;
my @subnetpart2;
my $snetpart2;
my $subnet;
open(my $log, ">log-external-.txt") or die "Could not open log: $!\n";
printf $log "Subnet,Static,DHCP,Unused\n";
##### Step 1, read subnets
open(my $in, "<m-names.txt") or die "Could not open m-names2.txt: $!\n";
while(<$in>) {
#next unless /(.*?)\/(.*)$/;
#next unless /(.*?)$/;
chomp;
  $subnet = $_;
  print "Checking $subnet\n";
  @dnsoptions = `./getobjectlst.exe -u xx -p xx -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 (not defined($dnsoptions[0])) {
    print "dnsoptions is null or undefined, going on to the next subnet\n";
    next;
  
  if (join(" ",@dnsoptions) =~ /Error 48: This subnet does not exist./) {

    # call "getsubnetlst.exe", passing $subnet as one of the parameters
    @subnetpart2 = `./getsubnetlst.exe -u xx-p xx -a $subnet -t network -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 xx -p xx -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);

 

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
IPSEC_SAMEADDR(3)					     Library Functions Manual						 IPSEC_SAMEADDR(3)

NAME
ipsec_sameaddr, ipsec_addrcmp, ipsec_samesubnet, ipsec_addrinsubnet, ipsec_subnetinsubnet, ipsec_subnetishost, ipsec_samesaid, ipsec_sameaddrtype, ipsec_samesubnettype - do comparisons for addresses, subnets, SA IDs and address families SYNOPSIS
#include <freeswan.h> int sameaddr(const ip_address *a, const ip_address *b); int addrcmp(const ip_address *a, const ip_address *b); int samesubnet(const ip_subnet *a, const ip_subnet *b); int addrinsubnet(const ip_address *a, const ip_subnet *s); int subnetinsubnet(const ip_subnet *a, const ip_subnet *b); int subnetishost(const ip_subnet *s); int samesaid(const ip_said *a, const ip_said *b); int sameaddrtype(const ip_address *a, const ip_address *b); int samesubnettype(const ip_subnet *a, const ip_subnet *b); DESCRIPTION
These functions do various comparisons and tests on the ip_address type and ip_subnet types. Sameaddr returns non-zero if addresses a and b are identical, and 0 otherwise. Addresses of different families are never identical. Addrcmp returns -1, 0, or 1 respectively if address a is less than, equal to, or greater than b. If they are not of the same address fam- ily, they are never equal; the ordering reported in this case is arbitrary (and probably not useful) but consistent. Samesubnet returns non-zero if subnets a and b are identical, and 0 otherwise. Subnets of different address families are never identical. Addrinsubnet returns non-zero if address a is within subnet s and 0 otherwise. An address is never within a subnet of a different address family. Subnetinsubnet returns non-zero if subnet a is a subset of subnet b and 0 otherwise. A subnet is deemed to be a subset of itself. A sub- net is never a subset of another subnet if their address families differ. Subnetishost returns non-zero if subnet s is in fact only a single host, and 0 otherwise. Samesaid returns non-zero if SA IDs a and b are identical, and 0 otherwise. Sameaddrtype returns non-zero if addresses a and b are of the same address family, and 0 otherwise. Samesubnettype returns non-zero if subnets a and b are of the same address family, and 0 otherwise. SEE ALSO
inet(3), ipsec_initaddr(3) HISTORY
Written for the FreeS/WAN project by Henry Spencer. 28 Nov 2000 IPSEC_SAMEADDR(3)
All times are GMT -4. The time now is 09:12 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy