Sponsored Content
Top Forums UNIX for Advanced & Expert Users Executing if dynamic conditions in awk Post 303044069 by rdrtx1 on Thursday 13th of February 2020 10:01:17 AM
Old 02-13-2020
more simple?
Code:
CONDITIONS="1=CT,4=US_10,60=CT_US_10"

awk -v CONDITIONS="${CONDITIONS}" -F, '
BEGIN { c=split(CONDITIONS, cn, "[=,]"); }
{n=0;
for (i=1; i<=c; i+=2) if ($cn[i]==cn[i+1]) n+=2;
if (n==c) print $0;
}' file


Last edited by rdrtx1; 02-18-2020 at 07:22 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
MPD-DYNAMIC(1p) 					User Contributed Perl Documentation					   MPD-DYNAMIC(1p)

NAME
mpd-dynamic - a dynamic playlist for mpd VERSION
version 1.120610 DESCRIPTION
This program implements a dynamic playlist for MPD, build on top of the Audio::MPD perl module. MPD (music player daemon) is a cool music player, but it lacks a dynamic playlist. A dynamic playlist is a playlist that will change automatically over time. In particular, it will remove already played songs (keeping at most a given number of songs) and add new songs to the playlist so it never fall short of songs. Note that since mpd is a daemon needing no gui to work, "mpd-dynamic" is also a daemon. That is, it will fork and do all its work from the background. This way, you can fire "mpd" and "mpd-dynamic" and forget completely about your music (especially since "mpd-dynamic" is a low-resource program): it will just be there! :-) USAGE
mpd-dynamic [options] OPTIONS
General behaviour You can customize the usage of mpd-dynamic with the following options: -o[ld] <old> Number of old tracks to keep in the backlog. Defaults to 10. -n[ew] <new> Number of new tracks to keep in the to-be-played playlist. Defaults to 10. -s[leep] <sleep> Time spent sleeping (in seconds) before checking if playlist should be updated. Default to 5 seconds. -d[ebug] Run mpd-dynamic in debug mode. In particular, the program will not daemonize itself. Default to false. -e[ncoding] <encoding> Print debug messages with this encoding. Since mpd-dynamic is meant to be a silent daemon, this option will not be used outside of debug mode. Default to "utf-8". --version --usage --help --man Print the usual program information Note however that those flags are optional: since "mpd-dynamic" comes with some sane defaults, you can fire "mpd-dynamic" as is. Ratings You can also take advantage of ratings if you want. With those options, songs need to have at least a given rating (or no rating yet) to be inserted: this way, you will only listen to your favorite songs! Ratings can be created / updated with "mpd-rate". Note that if you supply a non-existant rating db-file, the rating mechanism will be ignored. The following options control the rating mechanism: -r[atings] <ratings> The path of a db file with the ratings per song. The keys are the song path (relative to MPD root), and the value is an integer (the rating). Default to "~/.mpd/ratings.db". -m[in[imum]] <min> The minimum rating for a song to be inserted in the playlist. Default to 4. AUTHOR
Jerome Quelin COPYRIGHT AND LICENSE
This software is copyright (c) 2007 by Jerome Quelin. This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. perl v5.14.2 2012-03-01 MPD-DYNAMIC(1p)
All times are GMT -4. The time now is 09:38 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy