Sponsored Content
Top Forums Shell Programming and Scripting Search values between ranges in File1 within File2 Post 302282531 by Corona688 on Saturday 31st of January 2009 02:35:08 PM
Old 01-31-2009
How large a value can awk use? These ranges are far higher values than the 32-bit max, I used perl specifically because it can handle arbitrarily large numbers.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Read each word from File1 and search each file in file2

file1: has all words to be searched. 100007 200999 299997 File2: has all file names to be searched. C:\search1.txt C:\search2.txt C:\search3.txt C:\search4.txt Outfile: should have all found lines. Logic: Read each word in file1 and search each file in the list of File2; if the... (8 Replies)
Discussion started by: clem2610
8 Replies

2. Shell Programming and Scripting

AWK: read values from file1; search for values in file2

I have read another post about this issue and am wondering how to adapt it to my own, much simpler, issue. I have a file of user IDs like so: 333333 321321 546465 ...etc I need to take each number and use it to print records wherein the 5th field matches the user ID pulled from the... (2 Replies)
Discussion started by: Bubnoff
2 Replies

3. Shell Programming and Scripting

Search & replace fields from file1 to file2

hi, I have two xml files with the name source.xml and tobe_replaced.xml. Sample data: source.xml contains: <?xml version="1.0"?> <product description="prod1" product_info="some/info"> <product description="prod2" product_info="xyz/allinfo"> <product description="abc/partialinfo"... (2 Replies)
Discussion started by: dragon.1431
2 Replies

4. Shell Programming and Scripting

Get values from different columns from file2 when match values of file1

Hi everyone, I have file1 and file2 comma separated both. file1 is: Header1,Header2,Header3,Header4,Header5,Header6,Header7,Header8,Header9,Header10 Code7,,,,,,,,, Code5,,,,,,,,, Code3,,,,,,,,, Code9,,,,,,,,, Code2,,,,,,,,,file2... (17 Replies)
Discussion started by: cgkmal
17 Replies

5. Shell Programming and Scripting

Remove lines in file1 with values from file2

Hello, I have two data files: file1 12345 aa bbb cccc 98765 qq www uuuu 76543 pp rrr bbbbb 34567 nn ccc sssss 87654 qq ppp rrrrr file2 98765 34567 I need to remove the lines from file1 if the first field contains a value that appears in file2: output 12345 aa bbb cccc 76543 pp... (2 Replies)
Discussion started by: palex
2 Replies

6. Shell Programming and Scripting

search from file1 and replace into file2

I have 2 files: file1.txt: 1|15|XXXXXX||9630716||0096000||30/04/2012|E|O|X||||20120525135617-30.04.2012|PAT66OLM|STA||||00001|STA_0096000_YYYPPPXTMEX00_20120525135617_02_P.pdf|... (2 Replies)
Discussion started by: pparthiv
2 Replies

7. UNIX for Dummies Questions & Answers

if matching strings in file1 and file2, add column from file1 to file2

I have very limited coding skills but I'm wondering if someone could help me with this. There are many threads about matching strings in two files, but I have no idea how to add a column from one file to another based on a matching string. I'm looking to match column1 in file1 to the number... (3 Replies)
Discussion started by: pathunkathunk
3 Replies

8. Shell Programming and Scripting

Search within file1 numbers from list in file2

Hello to all, I hope somebody could help me with this: I have this File1 (real has 5 million of lines): Number Category --------------- -------------------------------------- 8734060355 3 8734060356 ... (6 Replies)
Discussion started by: Ophiuchus
6 Replies

9. Shell Programming and Scripting

awk to search field2 in file2 using range of fields file1 and using match to another field in file1

I am trying to use awk to find all the $2 values in file2 which is ~30MB and tab-delimited, that are between $2 and $3 in file1 which is ~2GB and tab-delimited. I have just found out that I need to use $1 and $2 and $3 from file1 and $1 and $2of file2 must match $1 of file1 and be in the range... (6 Replies)
Discussion started by: cmccabe
6 Replies

10. Shell Programming and Scripting

Mapping the values of ids of two columns of file1 from file2

I have of two space separated files: ==> File1 <== PT|np_496075.1 st|K92748.1 st|K89648.1 PT|np_001300561.1 PT|np_497284.1 st|K90752.1 st|K90279.1 PT|np_740775.1 PT|np_497749.1 st|K90752.1 st|K92038.1 PT|np_490856.1 PT|np_497284.1 st|K90752.1 st|K88095.1 PT|np_494764.1 ==> File 2 <==... (2 Replies)
Discussion started by: sammy777888
2 Replies
Lite(3) 						User Contributed Perl Documentation						   Lite(3)

NAME
Net::CIDR::Lite - Perl extension for merging IPv4 or IPv6 CIDR addresses SYNOPSIS
use Net::CIDR::Lite; my $cidr = Net::CIDR::Lite->new; $cidr->add($cidr_address); @cidr_list = $cidr->list; @ip_ranges = $cidr->list_range; DESCRIPTION
Faster alternative to Net::CIDR when merging a large number of CIDR address ranges. Works for IPv4 and IPv6 addresses. METHODS
new() $cidr = Net::CIDR::Lite->new $cidr = Net::CIDR::Lite->new(@args) Creates an object to represent a list of CIDR address ranges. No particular format is set yet; once an add method is called with a IPv4 or IPv6 format, only that format may be added for this cidr object. Any arguments supplied are passed to add_any() (see below). add() $cidr->add($cidr_address) Adds a CIDR address range to the list. add_range() $cidr->add_range($ip_range) Adds a hyphenated IP address range to the list. add_cidr() $cidr1->add_cidr($cidr2) Adds address ranges from one object to another object. add_ip() $cidr->add_ip($ip_address) Adds a single IP address to the list. add_any() $cidr->add_any($cidr_or_range_or_address); Determines format of range or single ip address and calls add(), add_range(), add_cidr(), or add_ip() as appropriate. $cidr->clean() $cidr->clean; If you are going to call the list method more than once on the same data, then for optimal performance, you can call this to purge null nodes in overlapping ranges from the list. Boundary nodes in contiguous ranges are automatically purged during add(). Only useful when ranges overlap or when contiguous ranges are added out of order. $cidr->list() @cidr_list = $cidr->list; $list_ref = $cidr->list; Returns a list of the merged CIDR addresses. Returns an array if called in list context, an array reference if not. $cidr->list_range() @cidr_list = $cidr->list_range; $list_ref = $cidr->list_range; Returns a list of the merged addresses, but in hyphenated range format. Returns an array if called in list context, an array reference if not. $cidr->list_short_range() @cidr_list = $cidr->list_short_range; $list_ref = $cidr->list_short_range; Returns a list of the C subnet merged addresses, in short hyphenated range format. Returns an array if called in list context, an array reference if not. Example: 1.1.1.1-2 1.1.1.5-7 1.1.1.254-255 1.1.2.0-2 1.1.3.5 1.1.3.7 $cidr->find() $found = $cidr->find($ip); Returns true if the ip address is found in the CIDR range. False if not. Not extremely efficient, is O(n*log(n)) to sort the ranges in the cidr object O(n) to search through the ranges in the cidr object. The sort is cached on the first call and used in subsequent calls, but if more addresses are added to the cidr object, prep_find() must be called on the cidr object. $cidr->bin_find() Same as find(), but forces a binary search. See also prep_find. $cidr->prep_find() $cidr->prep_find($num); Caches the result of sorting the ip addresses. Implicitly called on the first find call, but must be explicitly called if more addresses are added to the cidr object. find() will do a binary search if the number of ranges is greater than or equal to $num (default 20); $cidr->spanner() $spanner = $cidr1->spanner($label1, $cidr2, $label2, ...); Creates a spanner object to find out if multiple ip addresses are within multiple labeled address ranges. May also be called as (with or without any arguments): Net::CIDR::Lite::Span->new($cidr1, $label1, $cidr2, $label2, ...); $spanner->add() $spanner->add($cidr1, $label1, $cidr2, $label2,...); Adds labeled address ranges to the spanner object. The 'address range' may be a Net::CIDR::Lite object, a single CIDR address range, a single hyphenated IP address range, or a single IP address. $spanner->find() $href = $spanner->find(@ip_addresses); Look up which range(s) ip addresses are in, and return a lookup table of the results, with the keys being the ip addresses, and the value a hash reference of which address ranges the ip address is in. $spanner->bin_find() Same as find(), but forces a binary search. See also prep_find. $spanner->prep_find() $spanner->prep_find($num); Called implicitly the first time $spanner->find(..) is called, must be called again if more cidr objects are added to the spanner object. Will do a binary search if ratio of the number of ip addresses to the number of ranges is less than $num percent (default 4). $spanner->clean() $clean_address = $spanner->clean($ip_address); Validates and returns a cleaned up version of an ip address (which is what you will find as the key in the result from the $spanner->find(..), not necessarily what the original argument looked like). E.g. removes unnecessary leading zeros, removes null blocks from IPv6 addresses, etc. CAVEATS
Garbage in/garbage out. This module does do validation, but maybe not enough to suit your needs. AUTHOR
Douglas Wilson, <dougw@cpan.org> w/numerous hints and ideas borrowed from Tye McQueen. COPYRIGHT
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. SEE ALSO
Net::CIDR. perl v5.18.2 2010-03-25 Lite(3)
All times are GMT -4. The time now is 05:55 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy