Sponsored Content
Top Forums UNIX for Advanced & Expert Users Executing if dynamic conditions in awk Post 303044013 by cskumar on Wednesday 12th of February 2020 01:45:03 PM
Old 02-12-2020
Hi,

Before I post i store the condition in a variable as like below(in 2 steps) and after that i merged in the same awk as per above snippet, however the problem statement remains the same where iam unable to execute the if statement with dynamically formed condition.
Code:
CON=`echo ""|/usr/bin/awk -v COND=${CONDITIONS} -F"," 'function strcondition(h,  i,F,v,b,dec) {F=split(h,v,",");for(i=1;i<=F;i++) {split(v[i],b,"=");dec=(dec != "") ? dec""sprintf(" %s == \"%s\" &&",lookup(b[1]),b[2]) : sprintf("%s == \"%s\" &&",lookup(b[1]),b[2]);} sub(/[ &&\t\r\n]+$/, "", dec);return dec;} function lookup(l,  f,ar){ar[1]="$1";ar[2]="$4";ar[3]="$60";ar[4]="$17";ar[5]="$4";if (l in ar) {return ar[l];}} { print(strcondition(COND))}'`

/usr/bin/awk -v CONDITION="${CON}" 'BEGIN{FS=","}{ if (CONDITION) {print CONDITION"|"$147"|"$15"|"$16"|"$17"|"$4} }' Record_${FILEDATE}.dat

--- Post updated at 02:45 PM ---

Hi rdrtx1, It works perfectly. Many thanks for your support.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

About awk conditions

Hello, Can you explain why in the first 2 commands the awk does not print anything? Is it looking of a specific format ? Thanks. $ echo 12a3 | awk '($1>=2) {print $1}' # prints nothing $ echo 123a | awk '($1>=2) {print $1}' # prints nothing $ echo a123 | awk '($1>=2) {print $1}' a123... (1 Reply)
Discussion started by: majormark
1 Replies

2. UNIX for Advanced & Expert Users

Dynamic Downloading and executing of ELF files

Dear Group, I want to prepare an ELF file which can be downloaded dynamically to any address in the moemory and executes as a new task/thread/process. 1) for this what are all the compileation, linker options while building the ELF file? 2) which parts of ELF file has to modified while... (1 Reply)
Discussion started by: ravinder.are
1 Replies

3. Shell Programming and Scripting

specifying multiple conditions in AWK

how can i specify more than 1 consition in the following AWK statament?? i.e. if $2 is ABCD and $3 is MNOP and $4 is KLPM similarly for OR #!/bin/ksh awk -F '' ' $2 == "ABCD" { print $2, $3;}' file.xml (2 Replies)
Discussion started by: skyineyes
2 Replies

4. Shell Programming and Scripting

awk with two conditions

Hi Everyone, # cat 1 1;2;3;4;5;6 1;2;3;4;5; # awk -F ";" '$5 == "5"' 1 1;2;3;4;5;6 1;2;3;4;5; but the output is should be just "1;2;3;4;5;6" means 1st condition: $5 is 5; 2nd condition: $6 is not empty, please advice. Thanks (2 Replies)
Discussion started by: jimmy_y
2 Replies

5. Shell Programming and Scripting

Conditions in awk

Hi there, here is my command ssh host.local "/path/to/my/perscript/hostconfig.pl -s $HOST -d |awk '{if (\$4 > 120)print \"My error message\";exit}{s=0; for (i=1; i<=NF; i++) s++; if(s == 13) print \$3}'" The problem is if conditional 1 is met (i.e $4 > 120), i don't see "My error message", the... (5 Replies)
Discussion started by: urello
5 Replies

6. Shell Programming and Scripting

awk with conditions

Hi All, I have a file with below contents. "en2"/10.185.81.0:cluster_interconnect,"en5"/10.185.81.0:cluster_interconnect,"en6"/169.181.146.0:public I want to take the interface name from the file and convert it as ipaddress using ifconfig command get the output like below en6 ->... (2 Replies)
Discussion started by: kamauv234
2 Replies

7. Shell Programming and Scripting

awk three conditions

I'm having a problem pulling UID's from data. The data outputs a user's UID in one of three ways: 1. Error User user_name already assigned with <UID> 2. Success <UID> reserved for user_name 3. <a load of crap because there was a db failure yet somehow the UID is still in there> I typically... (5 Replies)
Discussion started by: MaindotC
5 Replies

8. Shell Programming and Scripting

Shell script executing both the conditions.

I have written this script. This is used for creating a backup folder. #!/bin/sh #set -x . /home/.profile usage="Usage is $0" usage="$usage " # Use the getopt utility to set up the command line flags. set -- `/usr/bin/getopt b: $*` # Process individual command line arguments while ;... (1 Reply)
Discussion started by: arijitsaha
1 Replies

9. Shell Programming and Scripting

If conditions in awk

Hello Friends, I need to find some CDRs in production servers whose 1st field value and 2nd field value = 1 and 11th looks like 45.123... where there are more than 3 digits after comma.so i wrote a one liner, something like below but does not work, however when i used first and second conditions... (8 Replies)
Discussion started by: EAGL€
8 Replies

10. Shell Programming and Scripting

awk problems - awk ignores conditions

awk 'BEGIN{ if('"$CATE"'<'"${WARN}"') printf ("%s", "'"`Kfunc "" ; break`"'") else if (('"${CATE}"'>='"${WARN}"') && ('"${CATE}"'<'"${CRIT}"')) printf ("%s", "'"`Wfunc ""; break`"'") else if ('"${CATE}"'>='"${CRIT}"') printf... (6 Replies)
Discussion started by: SkySmart
6 Replies
pthread_condattr_init(3T)												 pthread_condattr_init(3T)

NAME
pthread_condattr_init(), pthread_condattr_destroy() - initialize or destroy a condition variable attributes object. SYNOPSIS
PARAMETERS
attr Pointer to the condition variable attributes object to be initialized or destroyed. DESCRIPTION
initializes the condition variable attributes object attr with the default values for all attributes. The attributes object describes a condition variable in detail and is passed to the condition variable initialization function. When a condition variable attributes object is used to initialize a condition variable, the values of the individual attributes determine the characteristics of the new condition variable. Attributes objects act like additional parameters to object initialization. A single attributes object can be used in multiple calls to the function When a condition variable is initialized with an attributes object, the attributes are, in effect, copied into the condition variable. Consequently, any change to the attributes object will not affect any previously initialized condition variables. Once all condition vari- ables needing a specific attributes object have been initialized, the attributes object is no longer needed. The condition variable attributes and their default values are: The default value is If an initialized condition variable attributes object is reinitialized, undefined behavior results. destroys the condition variable attributes object attr. The destroyed condition variable attributes object ceases to exist and its resources are reclaimed. Using attr after it has been destroyed results in undefined behavior. A destroyed condition variable attributes object can be reinitialized using the function Condition variables that have been already initialized using this attributes object are not affected by the destruction of the condition variable attributes object. RETURN VALUE
Upon successful completion, and return zero. Otherwise, an error number is returned to indicate the error (the variable is not set). ERRORS
If any of the following occur, the function returns the corresponding error number: [ENOMEM] There is insufficient memory available in which to initialize the condition variable attributes object. [EINVAL] attr is not a valid condition variable attributes object. For each of the following conditions, if the condition is detected, the function returns the corresponding error number: [EINVAL] attr is not a valid condition variable attributes object. AUTHOR
and were derived from the IEEE POSIX P1003.1c standard. SEE ALSO
pthread_create(3T), pthread_condattr_getpshared(3T), pthread_cond_init(3T). STANDARDS CONFORMANCE
Pthread Library pthread_condattr_init(3T)
All times are GMT -4. The time now is 12:05 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy