03-24-2009
List of IPs & database lookup
I am trying to feed a list of IP's to do lookups from a database. My script works only for the first IP but all subsequent IPs output as 'unknown'.
PHP Code:
#!/usr/bin/php -q
<?
$ip = file('ip.txt');
foreach ($ip as $ip_num => $ip) {
echo $ip;
$out=sprintf("%u", ip2long($ip));
$sql="SELECT country_name FROM geoip WHERE ($out BETWEEN ip_begin AND ip_end)";
echo $sql;
$link = mysql_connect('localhost','root','password');
mysql_select_db('maxmind');
$query = mysql_query($sql,$link);
while ($row = @mysql_fetch_array($query,MYSQL_ASSOC)) {
$data[] = $row;
}
if (count($data) == 1) {
echo $data[0]['country_name']."\n";
}
else {
echo "Unknown\n";
}
}
?>
Should I be using something else to feed the list of IP's or another kind of loop?
thanks & regards
9 More Discussions You Might Find Interesting
1. UNIX for Dummies Questions & Answers
Good day every body,
Iv've been given a list of files and directory requested by the Auditor's. My problem is how do i list the file with the permission given and also save the file into text.file so that i can passed the result/oucome to them?? Thanks alot guys!! (2 Replies)
Discussion started by: gagasan_makmur
2 Replies
2. UNIX for Dummies Questions & Answers
I want to store a set of string values in a 1-D array
and then iterate the list by using a loop.
Please help this dummy:) (1 Reply)
Discussion started by: ngagemaniac
1 Replies
3. UNIX for Advanced & Expert Users
Write a quick shell snippet to find all of the IPV4 IP addresses
in any and all of the files under /var/lib/output/*, ignoring
whatever else may be in those files. Perform a reverse lookup on
each, and format the output neatly, like "IP=192.168.0.1,
... (0 Replies)
Discussion started by: choco4202002
0 Replies
4. Shell Programming and Scripting
I have a list of ids and a master list. I need to display entries from the master list matching ids in the first list. The master list is space delimited, id is 1st field.
$ cat id_list
2010
7
51
$ cat master_list
1 one detail1 detail2
2 two detail1 avg1 detail2 avg2
... etc ...
... (3 Replies)
Discussion started by: migurus
3 Replies
5. Shell Programming and Scripting
I am trying to get a script working that will perform a simple database lookup using the join command.
Here are the two files that I am trying to join:
% cat lookup1.txt
Number_1 Other_data_a
Number_5 Other_data_b
Number_8 Other_data_c
Number_10 Other_data_d
% cat... (2 Replies)
Discussion started by: JasonHamm
2 Replies
6. Shell Programming and Scripting
Hello,
I have a dump of IPs (around 2 million) and i need to filter out(delete) 37 IPs from this list.
Here is a short list of IPs that i would need deleted
111.111.xxx.xxx
123.123.xxx.xxx
127.x.x.x
98.20.xx.xxx
10.135.xxx.xxx
11.105.xxx.xx
100.100.xxx.xxx
101.xxx.xx.xxx
... (11 Replies)
Discussion started by: senormarquez
11 Replies
7. Shell Programming and Scripting
Hi Everyone,
I typed a command:
awk '{ print $1}' $LOGFILE | sort | uniq -c | sort -nr > $DEST/a.txt
And I got file a.txt which show
6 1.1.1.1
3 2.2.2.2
2 3.3.3.3
1 4.4.4.4
Just now, I want to get exact ips which has first column > 5 to a file b.txt. In this situation, the... (5 Replies)
Discussion started by: testcase
5 Replies
8. Shell Programming and Scripting
Hello,
I am sorry if the title is confusing, but I need a script to grep a list of Names from a Source file in a Master database in which all the homophonic variants of the name are listed along with a single indexing key and store all of these in an output file. I need this because I am testing... (4 Replies)
Discussion started by: gimley
4 Replies
9. AIX
Hello!
We have an AIX box (6.3), we are looking for a way to get list of logged in users and their IP. The issue we have is running who -ub shows hostname and we are wanting to get the ip. Any suggestions of ideas? Thanks in advance for any help! (4 Replies)
Discussion started by: entropy1980
4 Replies
GETOPT(3) 1 GETOPT(3)
getopt - Gets options from the command line argument list
SYNOPSIS
array getopt (string $options, [array $longopts])
DESCRIPTION
Parses options passed to the script.
PARAMETERS
o $options
- Each character in this string will be used as option characters and matched against options passed to the script starting with a
single hyphen ( -). For example, an option string "x" recognizes an option -x. Only a-z, A-Z and 0-9 are allowed.
o $longopts
- An array of options. Each element in this array will be used as option strings and matched against options passed to the script
starting with two hyphens ( --). For example, an longopts element "opt" recognizes an option --opt.
The $options parameter may contain the following elements:
oIndividual characters (do not accept values)
oCharacters followed by a colon (parameter requires value)
oCharacters followed by two colons (optional value)
Option values are the first argument after the string. If a value is required, it does not matter whether the value has leading white
space or not. See note.
Note
Optional values do not accept " " (space) as a separator.
Note
The format for the $options and $longopts is almost the same, the only difference is that $longopts takes an array of options
(where each element is the option) whereas $options takes a string (where each character is the option).
RETURN VALUES
This function will return an array of option / argument pairs or FALSE on failure.
Note
The parsing of options will end at the first non-option found, anything that follows is discarded.
CHANGELOG
+--------+---------------------------------------------------+
|Version | |
| | |
| | Description |
| | |
+--------+---------------------------------------------------+
| 5.3.0 | |
| | |
| | Added support for "=" as argument/value separa- |
| | tor. |
| | |
| 5.3.0 | |
| | |
| | Added support for optional values (specified |
| | with "::"). |
| | |
| 5.3.0 | |
| | |
| | Parameter $longopts is available on all systems. |
| | |
| 5.3.0 | |
| | |
| | This function is no longer system dependent, and |
| | now works on Windows, too. |
| | |
+--------+---------------------------------------------------+
EXAMPLES
Example #1
getopt(3) example: The basics
<?php
// Script example.php
$options = getopt("f:hp:");
var_dump($options);
?>
shell> php example.php -fvalue -h
The above example will output:
array(2) {
["f"]=>
string(5) "value"
["h"]=>
bool(false)
}
Example #2
getopt(3) example: Introducing long options
<?php
// Script example.php
$shortopts = "";
$shortopts .= "f:"; // Required value
$shortopts .= "v::"; // Optional value
$shortopts .= "abc"; // These options do not accept values
$longopts = array(
"required:", // Required value
"optional::", // Optional value
"option", // No value
"opt", // No value
);
$options = getopt($shortopts, $longopts);
var_dump($options);
?>
shell> php example.php -f "value for f" -v -a --required value --optional="optional value" --option
The above example will output:
array(6) {
["f"]=>
string(11) "value for f"
["v"]=>
bool(false)
["a"]=>
bool(false)
["required"]=>
string(5) "value"
["optional"]=>
string(14) "optional value"
["option"]=>
bool(false)
}
Example #3
getopt(3) example: Passing multiple options as one
<?php
// Script example.php
$options = getopt("abc");
var_dump($options);
?>
shell> php example.php -aaac
The above example will output:
array(2) {
["a"]=>
array(3) {
[0]=>
bool(false)
[1]=>
bool(false)
[2]=>
bool(false)
}
["c"]=>
bool(false)
}
SEE ALSO
$argv.
PHP Documentation Group GETOPT(3)