07-24-2012
regexes cannot understand ip/subnet ranges because they have no concept of numbers, let alone arithmetic.
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hi All,
I have been working on something that doesn't seem to have a clear regex solution and I just wanted to run it by everyone to see if I could get some insight into the method of solving this problem.
I have a flat text file that contains billing records for users, however the records... (5 Replies)
Discussion started by: Jerrad
5 Replies
2. Shell Programming and Scripting
All,
I'm new to shell script. How do I check the password
1)password should have atleast one alpha character and one non-alpha character (0-9 Special)
2)password should not contain three or more repeated alpha numeric characters in a row
Can somebody help me in creating the regular... (1 Reply)
Discussion started by: gudikal_karanam
1 Replies
3. UNIX for Dummies Questions & Answers
Hello,
I'm working on unix with grep (GNU grep) 2.5.1. I'm going through some of the newer regex syntax using Regular Expression Reference - Advanced Syntax a guide.
ls -aLl /bin | grep "\(x\)"
Which works, just highlights 'x' where ever, when ever.
I'm trying to to get (?:) to work but... (4 Replies)
Discussion started by: MykC
4 Replies
4. Shell Programming and Scripting
This regex is supposed to accept files with extensions 270, 276, and "txt" only. Everything else should be discarded.
This is what I have. I'll spare you the rest of the code.
ext =".\$"
#ext =".\$"
#ext =".\$"
#ext =".\$"
for xfile in `ls $dir | grep "$ext" | xargs`; do... (9 Replies)
Discussion started by: grep01
9 Replies
5. Shell Programming and Scripting
I am having trouble parsing rpm filenames in a shell script.. I found a snippet of perl code that will perform the task but I really don't have time to rewrite the entire script in perl. I cannot for the life of me convert this code into something sed-friendly:
if ($rpm =~ /(*)-(*)-(*)\.(.*)/)... (1 Reply)
Discussion started by: suntzu
1 Replies
6. Shell Programming and Scripting
Hello
I am trying to remove a line like <?php /*versio:2.05*/if (!defined('determinator')){ content goes here}?>
Now i want to scan all... (6 Replies)
Discussion started by: devp
6 Replies
7. Shell Programming and Scripting
Hi
I am trying to create a suspend script which will suspend the system only if it cant find port 9982 four or more times OR 192.168.0.:microsoft-ds ESTABLISHED in the output of netstat -t.
I am struggling with the 9982 bit, googling etc I came up with
if netstat -t|grep -P "(9982){4,}" ... (15 Replies)
Discussion started by: bilboNIX
15 Replies
8. Shell Programming and Scripting
I am not a big expert in regex and have just little understanding of that language.
Could you help me to understand the regular Perl expression:
^(?!if\b|else\b|while\b|)(?:+?\s+){1,6}(+\s*)\(*\) *?(?:^*;?+){0,10}\{
------
This is regex to select functions from a C/C++ source and defined in... (2 Replies)
Discussion started by: alex_5161
2 Replies
9. UNIX for Beginners Questions & Answers
Hi,
I need some guidance with understanding this Perl script below. I am not the author of the script and the author has not leave any documentation. I supposed it is meant to be 'easy' if you're a Perl or regex guru. I am having problem understanding what regex to use :confused: The script does... (3 Replies)
Discussion started by: newbie_01
3 Replies
10. UNIX for Beginners Questions & Answers
I want to generate regex for this kind of expression and want to find and replace.
like :
---->
basically i want to find anything that match a pattern like this and remove the whole thing
Please looking for some suggestions (1 Reply)
Discussion started by: utkarshkhanna44
1 Replies
LEARN ABOUT DEBIAN
net::subnets
Net::Subnets(3pm) User Contributed Perl Documentation Net::Subnets(3pm)
NAME
Net::Subnets - Computing Subnets In Large Scale Networks
SYNOPSIS
use Net::Subnets;
my $sn = Net::Subnets->new;
$sn->subnets(@subnets);
if (my $subnetref = $sn->check($address)) {
...
}
my ($lowipref, highipref) = $sn->range($subnet);
my $listref = $sn->list(($lowipref, $highipref));
DESCRIPTION
Very fast matches large lists of IP addresses against many CIDR subnets and calculates IP address ranges.
This is a simple and efficient example for subnet matching:
use Net::Subnets;
my @subnets = qw(10.0.0.0/24 10.0.1.0/24);
my @addresses = qw/10.0.0.1 10.0.1.2 10.0.3.1/;
my $sn = Net::Subnets->new;
$sn->subnets(@subnets);
my $results;
foreach my $address (@addresses) {
if (my $subnetref = $sn->check($address)) {
$results .= "$address: $$subnetref
";
}
else {
$results .= "$address: not found
";
}
}
print($results);
This is a simple example for range calculation:
use Net::Subnets;
my @subnets = qw(10.0.0.0/24 10.0.1.0/24);
my $sn = Net::Subnets->new;
my $results;
foreach my $subnet (@subnets) {
my ($lowipref, $highipref) = $sn->range($subnet);
$results .= "$subnet: $$lowipref - $$highipref
";
}
print( $results );
This is a simple example for list generation:
use Net::Subnets;
my $lowip = '192.168.0.1';
my $highip = '192.168.0.100';
my $sn = Net::Subnets->new;
my $listref = $sn->list(($lowip, $highip));
foreach my $address (@$listref) {
# do something cool
}
METHODS
"new"
my $subnets = Net::Subnets->new;
Creates an "Net::Subnets" object.
"subnets"
$subnets->subnets([qw(10.0.0.0/24 10.0.1.0/24)]);
The C<subnets> method lets you prepare a list of CIDR subnets.
"check"
my $match = $subnets->check($address);
The C<check> method lets you check an IP address against the previously
prepared subnets.
"range"
my ($lowest, $highest) = $subnets->range($subnet)
The C<range> method lets you calculate the IP address range of a subnet.
"list"
my $list = $subnets->list($lowest, $highest);
The C<list> method lets you calculate a list containing all IP addresses
in a given range.
AUTHOR
Sebastian Riedel (sri@cpan.org), Juergen Peters (juergen.peters@taulmarill.de)
COPYRIGHT AND LICENSE
Copyright (C) 2003-2009, Sebastian Riedel.
This program is free software, you can redistribute it and/or modify it under the terms of the Artistic License version 2.0.
perl v5.10.1 2009-12-18 Net::Subnets(3pm)