i have one script which is provided by client and am trying to under stand how it is executing as am not aware of so much of awk functionality. Please help me how below command executing and appreciate if some one can explain me.
otupt of this comnand is as in above mentioned file count is 0
please explain me what this command is doing.
awk 'uc&&!--uc;/export count/{uc=2} filename:
For every line uc, defaulting to 0 (== FALSE), is evaluated. The second condition is not evaluated, due to "short circuit evaluation".
When "export count" is found uc will be set to 2.
For the next line, uc == 2 == TRUE, !(--uc == 1 == TRUE) == FALSE, nothing happens.
For the second next line, uc ==1 == TRUE, !(--uc == 0 == FALSE) == TRUE, so the default action for TRUE patterns, i.e. print, will be executed, which yields "0".
A similar logic holds for your second example, who's step-by-step explanation I leave up to you for learning purposes.
Last edited by RudiC; 10-31-2014 at 09:47 AM..
Reason: Added some <new line>s to make the contents clearer.
-- is a (here: pre-) decrement operator known in many programming languages like C, awk, etc. It decrements uc by 1 before referencing it. I'd recommend reading man awk ASAP.
Hi,
I am trying to pass awk field to a command line executed within awk (need to convert a timestamp into formatted date).
All my attempts failed this far.
Here's an example.
It works fine with timestamp hard-codded into the command
echo "1381653229 something" |awk 'BEGIN{cmd="date -d... (4 Replies)
below is the output xml string from some other command and i will be parsing it using awk
cat /tmp/alerts.xml
<Alert id="10102" name="APP-DS-ds_ha-140018-componentFailure-S" alertDefinitionId="13982" resourceId="11427" ctime="1359453507621" fixed="false" reason="If Event/Log Level(ANY) and... (2 Replies)
Hi,
I have a situation to compare one file, say file1.txt with a set of files in directory.The directory contains more than 100 files.
To be more precise, the requirement is to compare the first field of file1.txt with the first field in all the files in the directory.The files in the... (10 Replies)
Hello all,
Here is what my bash script does: sums number columns, saves the tot in new column, outputs if tot >= threshold val:
> cat getnon0file.sh
#!/bin/bash
this="getnon0file.sh"
USAGE=$this"
InFile="xyz.38"
Min="0.05"
#
awk '{sum=0; for(n=2; n<=NF; n++){sum+=$n};... (4 Replies)
I have a script problem that I am not able to solve due my very limited understanding of unix/awk.
This is the contents of test.sh
awk '{print $1}'
From the prompt if I enter:
./test.sh Hello World
I would expect to see "Hello" but all I get is a blank line. Only then if I enter "Hello... (2 Replies)
Sorry for the duplicate thread this one is similar to the one in
https://www.unix.com/shell-programming-scripting/88132-awk-sed-script-read-values-parameter-files.html#post302255121
Since there were no responses on the parent thread since it got resolved partially i thought to open the new... (4 Replies)
Hi ,
I have a piece of code ...wherein I need to assign the following ...
1) A command line argument to a variable
e.g origCount=ARGV
2) A unix command to a variable
e.g result=`wc -l testFile.txt`
in my awk shell script
When I do this :
print "origCount" origCount --> I get the... (0 Replies)