Sponsored Content
Top Forums UNIX for Advanced & Expert Users Executing if dynamic conditions in awk Post 303044011 by rdrtx1 on Wednesday 12th of February 2020 01:11:52 PM
Old 02-12-2020
an ex.:
Code:
CONDITIONS="1=CT,2=US_10,3=CT_US_10"

CON='$1 == "CT" && $4 == "US_10" && $60 == "CT_US_10"'

awk -v CONDITION="${CON}" -F, '
BEGIN {
c=split(CONDITION, cons, " *&& *");
for (i=1; i<=c; i++) {
split(cons[i], cs, " *== *");
sub("[$]", "", cs[1]);
gsub("[\"]", "", cs[2]);
conditions[cs[1]]=cs[2];
}
}
{
n=0;
for (i in conditions) if ($(i)==conditions[i]) n++;
if (n==c) print CONDITION"|"$147"|"$15"|"$16"|"$17"|"$4;
}
' file


Last edited by rdrtx1; 02-18-2020 at 07:23 PM..
This User Gave Thanks to rdrtx1 For This Post:
 

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
WEBOOB-DEBUG(1) 					      General Commands Manual						   WEBOOB-DEBUG(1)

NAME
weboob-debug - console application to debug weboob backends SYNOPSIS
weboob-debug [-dqv] [-b backends] [-cnfs] [command [arguments..]] weboob-debug [--help] [--version] DESCRIPTION
Weboob-Debug is a console application to debug backends. WEBOOBDEBUG COMMANDS
shell BACKEND Debug a backend. WEBOOB COMMANDS
backends [ACTION] [BACKEND_NAME]... Select used backends. ACTION is one of the following (default: list): * enable enable given backends * disable disable given backends * only enable given backends and disable the others * list list backends * add add a backend * register register a new account on a website * edit edit a backend * remove remove a backend * list-modules list modules cd [PATH] Follow a path. ".." is a special case and goes up one directory. "" is a special case and goes home. condition [EXPRESSION | off] If an argument is given, set the condition expression used to filter the results. If the "off" value is given, conditional filtering is disabled. If no argument is given, print the current condition expression. count [NUMBER | off] If an argument is given, set the maximum number of results fetched. NUMBER must be at least 1. "off" value disables counting, and allows infinite searches. If no argument is given, print the current count value. formatter [list | FORMATTER [COMMAND] | option OPTION_NAME [on | off]] If a FORMATTER is given, set the formatter to use. You can add a COMMAND to apply the formatter change only to a given command. If the argument is "list", print the available formatters. If the argument is "option", set the formatter options. Valid options are: header, keys. If on/off value is given, set the value of the option. If not, print the current value for the option. If no argument is given, print the current formatter. inspect BACKEND_NAME Display the HTML string of the current page of the specified backend's browser. If webkit_mechanize_browser Python module is installed, HTML is displayed in a WebKit GUI. logging [LEVEL] Set logging level. Availables: debug, info, warning, error. * quiet is an alias for error * default is an alias for warning ls [PATH] List objects in current path. If an argument is given, list the specified path. quit Quit the application. select [FIELD_NAME]... | "$direct" | "$full" If an argument is given, set the selected fields. $direct selects all fields loaded in one http request. $full selects all fields using as much http requests as necessary. If no argument is given, print the currently selected fields. OPTIONS
--version show program's version number and exit -h, --help show this help message and exit -b BACKENDS, --backends=BACKENDS what backend(s) to enable (comma separated) LOGGING OPTIONS
-d, --debug display debug messages -q, --quiet display only error messages -v, --verbose display info messages --logging-file=LOGGING_FILE file to save logs -a, --save-responses save every response RESULTS OPTIONS
-c CONDITION, --condition=CONDITION filter result items to display given a boolean expression -n COUNT, --count=COUNT get a maximum number of results (all backends merged) -s SELECT, --select=SELECT select result item keys to display (comma separated) FORMATTING OPTIONS
-f FORMATTER, --formatter=FORMATTER select output formatter (csv, htmltable, multiline, simple, table, webkit) --no-header do not display header --no-keys do not display item keys -O OUTFILE, --outfile=OUTFILE file to export result COPYRIGHT
Copyright(C) 2010-2011 Christophe Benz For full COPYRIGHT see COPYING file with weboob package. FILES
"~/.config/weboob/backends" SEE ALSO
Home page: http://weboob.org/applications/weboobdebug weboob-debug 0.c 04 May 2012 WEBOOB-DEBUG(1)
All times are GMT -4. The time now is 12:57 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy