Sponsored Content
Top Forums UNIX for Advanced & Expert Users Executing if dynamic conditions in awk Post 303044009 by RudiC on Wednesday 12th of February 2020 01:00:01 PM
Old 02-12-2020
A one or two line data sample would be nice.


The if (...); will do nothing.
The print CONDITION will print an empty entity as the variable is not defined.


Your idea / approach will not work per se. You will need to compile your COND in, e.g. have some text tool write a script which then will be executed by awk.
This User Gave Thanks to RudiC 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
RDSWAP(1)						      General Commands Manual							 RDSWAP(1)

["NAME"]
       rdswap - a multi-language RD documents support tool

["SYNOPSIS"]
       rdswap [ -h | -v ] filename ...

["DESCRIPTION"]
       This tool is written to support you to write multi-language documents using the Ruby-Document-Format (RD).

       The idea for such a tool was originated by Minero Aoki, how has thought about, how to make life easier for developers who have to write and
       maintain scripts in more than one language.

       You have to specify at least two filenames on the command line. One containing the Ruby script, the second containing a translated  RD.	If
       the  script  does  not  end  with `.rb', it has to be the first filename mentioned on the command line! In opposition, all files containing
       translations must not ending with `.rb'! They should use a extension that describes the language. So that would give us the following  pic-
       ture:

	      o sample.rb : Script contains the original documentation.

	      o sample.jp : Documentation written in Japanese.

	      o sample.de : Translation to German.

       The  tool doesn't care about the language extensions. You can name them as you like! So the file containing the Japanese translation above,
       could also be names e.g. `sample.japan' or even `japantranslation.japan'.

       For every translation file, a new file will be created. The name is build from the script filename plus the language extension. So  regard-
       ing the example above, following files would be created:

	      o sample.rb.jp

	      o sample.rb.de

       or, given the alternative translation filename as mentioned above...

	      o sample.rb.japan

   ["How does it work?"]
       The  contents  of all files will be split into source and RD blocks. The source of the translation files, will be discarded! Every RD block
       may be of a certain type. The type will be taken from the contents directly following the `=begin' on the same line. If	there  is  only  a
       lonely `=begin' on a line by itself, the type of the block is `nil'. That means in
	   # File sample.rd
	   :
	   =begin
	    bla bla
	   =end
	   :
	   =begin whatever or not
	    blub blub
	   =end
	   :

       the first block would be of type `nil' and the second one of type `whatever or not'.

       Block  types  are  important for the translation. If a source will be generated from a script and a translation file, only these blocks are
       taken from the translation files, that comes in the right sequence and contains the same type as the block in the script! For example:
	   # File sample.rb
	   :
	   =begin gnark
	    Some comment
	   =end
	   :
	   =begin
	    block 2
	   =end
	   :
	   =begin
	    block 3
	   =end
	   :

	   # File sample.de
	   :
	   =begin
	    Block zwei
	   =end
	   :
	   =begin
	    Block drei
	   =end
	   :

       Here, the first block of `sample.rb' will *not* be translated, as there is no translation block with that type in sample.de! So	the  first
       block  would  be  inserted as-it-is into the translated script. The blocks afterwards, however, are translated as the block type does match
       (it is `nil' there).

       Attention: In a translation file, a second block will only be used, if a first one was already used (matched). A third block will  only	be
       used, if a second one was used already!

       That  means,  if the first block of `sample.de' would be of type e.g. `Never match', then no block would ever be taken to replace anyone of
       `sample.rb'.

   ["OPTIONS"]
       ["-h"]
	      shows this help text.

       ["-v"]
	      shows some more text during processing.

       ["filename"]
	      means a file, that contains RD and/or Ruby code.

   ["EXAMPLES"]
	   rdswap -v sample.rb sample.ja sample.de
	   rdswap -v sample.ja sample.rb sample.de
	   rdswap -v sample.ja sample.de sample.rb
	   rdswap -v sample.??

   ["AUTHORS"]
       Clemens Hintze <c.hintze@gmx.net>.

								     June 2012								 RDSWAP(1)
All times are GMT -4. The time now is 05:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy