Hi FolksI want to write a nawk script that dynamically creates variable numbers of regular expressions on the fly rather than using constants. Is this possible?They would need to be used within an if statement within the nawk program: -
Thanks
I can now, my computer at work can't seem to handle this site.
I have a very inefficient script that is looking at files full of ps output, 1 file for each server on the logical network. It is parsing a config file that contains entries pertaining to each process being monitored, between two and five lines of config per process.
I need to read in the entries from the config file containing patterns to match in the ps output, such as user, name of process, args etc.
So depending on how many args to match there are in the config file I need to create a regular expression to test or match or equal the patterns in the ps output.
So for one entry i may need to match two items and equal a string for example, the next I will need to build an expression that is different.
What would be most convenient would be to create the test in the if statement as a string and somehow eval it.
It is possible and common, but your code is incorrect. In your example, the if condition will evaluate to true if the value of regex is any non-null string. What you want is:
An array of strings can represent the tests that need to succeed and a for loop can be used to iterate over that list. == can be simulated with ~ using an anchored expression without (or with escaped) metacharacters. Depending on whether the expressions themselves are dynamic or hardcoded, this may or may not be trivial.
As with all help requests, some actual examples or your current script would've been more informative than your textual descriptions.
I am trying to test if I can replace a regular expression in 'nawk' with a variable.
Please let me know why it is not working. I am using ksh88i on solaris8
I am trying use this test as a building block to filter active external DNS connections.
Ideally I want to pass variable defined... (4 Replies)
Hello All,
I'm trying to extract the lines between two consecutive elements of an array from a file.
My array looks like:
problem_arr=(PRS111 PRS213 PRS234)
j=0
while } ]
do
k=`expr $j + 1`
sed -n "/${problem_arr}/,/${problem_arr}/p" problemid.txt
---some operation goes... (11 Replies)
Hi all,
How am I read a file, find the match regular expression and overwrite to the same files.
open DESTINATION_FILE, "<tmptravl.dat" or die "tmptravl.dat";
open NEW_DESTINATION_FILE, ">new_tmptravl.dat" or die "new_tmptravl.dat";
while (<DESTINATION_FILE>)
{
# print... (1 Reply)
I have an input file which looks like the example below and I want to format it with 2 columns from the header based on the word "CUSIP" followed by a 9 digit string with first 3 being numeric and in the same line NNN.NN% pattern for the percentage value. (In RED)
I started of with nawk but... (12 Replies)
Hello All,
I have a requirement to match a dynamic url and extract each of the directory and page and store it -Only PERL style Regular EXP as it will be used in informatica - REG_EXTRACT function
Example Input URLs:
1)... (2 Replies)
CA_RELEASE has a value of 6. I need to check if that this is a numeric value. if not error.
source $CA_VERSION_DATA
if * ]
then
echo "CA_RELESE $CA_RELEASE is invalid"
exit -1
fi
+ source /etc/ncgl/ca_version_data
++ CA_PRODUCT_ID=samxts
++ CA_RELEASE=6
++ CA_WEEK_NO=7
++... (3 Replies)
I've a file
$ cat size
1234
5678
vamsi
I want to match the lines which has just 4 digits and nothing else.
So
$ cat size | nawk ' $0 ~ // {print}'
1234
5678
But when I use the repetition clause it doesn't work
cat size | nawk ' $0 ~ /{4}/ {print}'
I actually want to filter out the... (8 Replies)
Hello, All.
please help me with this problem.
i need to use variable as regular expression.
some thing like this:
BEGIN {
RS="\n";
ORS="\n";
reg_exp = ".+Dec.+";
# i mean that regular expression is any symbol before "Dec" and any symbol after it. For example <Worksheet... (6 Replies)
Is it possible to combine a regular expression with a aritmetical expression? For example, taking a 8-numbers caracter sequece and casting each output of a grep, comparing to a constant.
THX! (2 Replies)