Some versions of awk limit the length of strings held in variables (as well as the maximum length of lines to be read) to LINE_MAX bytes (the awk on OS X is one example of this). (The value of LINE_MAX on your system can be found using getconf LINE_MAX, but is frequently 2048.)
If $GOODNUMBERS and $BADNUMBERS expand to lists shorter than LINE_MAX bytes, running the loop in Scrutinizer's suggested shell script could well be faster than exec'ing awk and interpreting the equivalent loop(s) in an awk script.
Your requirements aren't clear as to whether or not duplicated values in $GOODNUMBERS are supposed to be trimmed to a list of unique numbers, or if duplicated input numbers are to be duplicated in the output. If you want only unique numbers in your output and your list of numbers is too long for your version of awk to accept as a variable, you could try something like:
which produces:
Note that even though this output happens to be sorted, this script can mangle the order of values output.
This was tested using the Korn shell, but will also work with bash or any other shell that that uses POSIX standard shell syntax.
If you want to try this on a Solaris/SunOS system, change awk to /usr/xpg4/bin/awk, /usr/xpg6/bin/awk, or nawk.
This User Gave Thanks to Don Cragun For This Post:
Hello.
I have been looking high and low for the solution for this. I seems there should be a simple answer, but alas.
I have a big xml file, and I need to extract certain information from specific items. The information I need can be found between a specific set of tags. let's call them... (2 Replies)
Hi All,
I have around 900 Select Sql's which I would like to run in an awk script and print the output of those sql's in an txt file.
Can you anyone pls let me know how do I do it and execute the awk script? Thanks. (4 Replies)
I have a file which is
DFDG
START
DSFDS
DSDS
XXX
END (VIO)
AADD
START
SDSD
FGFG
END
and I have to print the lines between START and END (VIO). In the files there are multiple places where START would be followed by END with few lines in between but I need to print only if START is... (18 Replies)
You have two files to compare by searching keyword from one file into another file
File A
23 >pp_ANSWER
24 >aa hello
25 >jau head wear
66 >jss oops
872 >aqq olps ploww oww sss
722 >GG_KILLER
..... large files
File B
Beta done
KILLER
John Mayor
calix meyers
... (5 Replies)
I have a script where I need to use awk, go through some output, which is stored in a variable, and find a string Xms and Xmx and print the results, including the rest of that string.
Example of string:
... (3 Replies)
hello. i want to make an awk script to search an html file and output all the links (e.g .html, .htm, .jpg, .doc, .pdf, etc..) inside it. also, i want the links that will be output to be split into 3 groups (separated by an empty line), the first group with links to other webpages (.html .htm etc),... (8 Replies)
suppose if u have a file like that
Hen ABCCSGSGSGJJJJK 15
Cock ABCCSGGGSGIJJJL 15
* * * * * * : * * * . * * * :
Hen CFCDFCSDFCDERTF 30
Cock CHCDFCSDHCDEGFI 30
* . * * * * * * * : * * :* : : .
The output shud be
where there is : and .
It shud... (4 Replies)
Suppose u have a file like
1 30
ABCSAAHSNJQJALBALMKAANKAMLAMALK
4562676268836826826868268468368282972982
2863923792102370179372012792701739729291
31 60... (8 Replies)
suppose i have one file
file A
18
24
30
35
38
45
55
Another file file B
08_46 A 16 V -0.36 0.23 E : 1.41
08_46 A 17 D -1.04 0.22 E : 0.84
08_46 A 18 Q -0.49 0.12 E : 0.06
08_46 A 19 G 0.50 0.14 E : 0.05
08_46 A 20 V ... (5 Replies)