Sponsored Content
Full Discussion: Awk/if statement error
Top Forums Shell Programming and Scripting Awk/if statement error Post 303000494 by kieranfoley on Thursday 13th of July 2017 07:02:48 AM
Old 07-13-2017
Awk/if statement error

Can anybody tell the correct way to use the following awk pattern check within an if statement?

When I run this command outside of the if statement

Code:
cat /tmp/test2.out | awk -v T=$TIME -v G=$GROUP -v C=$CDATE '$0 ~ T && $0 ~ G && $0 ~ C' | grep -i "Starting the group"

I get the following result which is correct

Code:
71193 07/13/2017 05:30:00 AM  0 0 0 2291124000 26204 0 seinwsprd01 nsrd NSR info Savegroup Info: Skipped starting the group 'Misc_FS_Monthly_530'.


The 3 variables are defined as

Code:
TIME=05:30
GROUP=Misc_FS_Yearly_530
CDATE=07/13/2017


But when I execute the command withing an if statement in a bash shell I get the following error.

Code:
./backup_checker.sh: line 56: 71193: command not found

Note that
Code:
71193

is the first entry in the line that matches the pattern.

This is my if statement

Code:
    if `cat /tmp/test2.out | awk -v T=$TIME -v G=$GROUP -v C=$CDATE '$0 ~ T && $0 ~ G && $0 ~ C' | grep -i "Starting the group"` > /dev/null
      then
         :
      else
        echo -e "$GROUP did not start at $TIME - Please check\n" >> $OUTDIR/nonrunners.out
    fi

---------- Post updated at 12:02 PM ---------- Previous update was at 11:39 AM ----------

I figured out the issue. I do not need to use ` in the if statement/condition.
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

if statement in awk

Hi Friends How do I do two things from one if statement inside awk? I want to run a script and create a new file from the same condition. awk '{ if ($2 == ""){print " "|"cd /local/test; ./script.ksh"}{cat > ran_true.txt}}' $IN_FILE Bolded are the two things I want to be done. Thanks (1 Reply)
Discussion started by: UNovIX
1 Replies

2. Shell Programming and Scripting

awk inside another awk statement

hi all, i have two files 1) a.txt one two three 2) abc "one" = 10 pqr "three" = 20 345 "two" = 0 this is what i want in third file (3 Replies)
Discussion started by: shishirkotkar
3 Replies

3. Shell Programming and Scripting

awk, if statement

Having a little trouble with awk and an if statement. I have a test setup which I am trying to only print the records which start with the month 03. Everything I tried, prints everything, even the 02 month 03/23/2010 12:47:51 ga2828 SUBMITTED FROM URL: test123.cgi show port count ... (2 Replies)
Discussion started by: numele
2 Replies

4. Shell Programming and Scripting

Awk 'if' statement help

Hello all, I'm very new to this (<5hrs!) please bear with me. My file looks like this 386259.448541 417069.155 154935.157 186.206 162 1 1 8 386259.448551 417068.53 154935.04 186.144 156 1 1 8 386259.448561 417067.911 154934.926 186.175 164 1 1 8 386259.450337 417086.643 154946.483 894.671... (4 Replies)
Discussion started by: rebeccab37
4 Replies

5. Shell Programming and Scripting

Help Regarding AWk and IF THEN ELSE Statement

Hi, I have a data file which contains record count. So doing wc -l rightfit_balancing_count.dat | awk '{print $1}'] gives me the record count stored in the file. Now, i want to send a mail from UNIX, if the record count is equal to 0,otherwise it should do nothing. Any help... (2 Replies)
Discussion started by: Shell_Learner
2 Replies

6. Shell Programming and Scripting

awk if statement

hi, I have a l-column file of more than 10,000 lines with interspersed negative values. What I want to do is add a fixed number (360) everytime a negative value is encountered while leaving the positive ones as is. I need something that will read every line of the file and do the calculation... (3 Replies)
Discussion started by: ida1215
3 Replies

7. Shell Programming and Scripting

If statement in awk

I run my script "switch.sh" repeatedly (within 30 seconds). Each time script is triggered, script itself should kill all previous process. Here is my code: for pid in $(ps -fe | grep 'switch.sh' | grep -v grep | awk '{if ($2<$$) print $2}'); do sudo kill -9 $pid done sleep 30 ... (6 Replies)
Discussion started by: armatron
6 Replies

8. Shell Programming and Scripting

awk if then else statement

I am using awk as part of and if then else statement. I am trying to have the user enter a gene name and then a variant or variants and have a specific transcript assigned to the variants depending on the gene. Below is my code but the if then else statement is wrong. Basically, the gene name... (2 Replies)
Discussion started by: cmccabe
2 Replies

9. Shell Programming and Scripting

Convert Update statement into Insert statement in UNIX using awk, sed....

Hi folks, I have a scenario to convert the update statements into insert statements using shell script (awk, sed...) or in database using regex. I have a bunch of update statements with all columns in a file which I need to convert into insert statements. UPDATE TABLE_A SET COL1=1 WHERE... (0 Replies)
Discussion started by: dev123
0 Replies

10. Shell Programming and Scripting

awk statement help

There has to be a way to do this with awk or maybe I'm just focusing on the wrong tool and making this harder than it needs to be. I'm trying to do a file field lookup/join at a very large scale but the output changes has to change dramatically. I have an input file to do a field lookup from and... (3 Replies)
Discussion started by: brettcasper
3 Replies
IRSEND(1)							   User Commands							 IRSEND(1)

NAME
irsend - basic LIRC program to send infra-red commands SYNOPSIS
irsend [options] DIRECTIVE REMOTE CODE [CODE...] DESCRIPTION
Asks the lircd daemon to send one or more CIR (Consumer Infra-Red) commands. This is intended for remote control of electronic devices such as TV boxes, HiFi sets, etc. DIRECTIVE can be: SEND_ONCE - send CODE [CODE ...] once SEND_START - start repeating CODE SEND_STOP - stop repeating CODE LIST - list configured remote items SET_TRANSMITTERS - set transmitters NUM [NUM ...] SIMULATE - simulate IR event REMOTE is the name of a remote, as described in the lircd configuration file. CODE is the name of a remote control key of REMOTE, as it appears in the lircd configuration file. NUM is the transmitter number of the hardware device. For the LIST DIRECTIVE, REMOTE and/or CODE can be empty: LIST "" "" - list all configured remote names LIST REMOTE "" - list all codes of REMOTE LIST REMOTE CODE - list only CODE of REMOTE The SIMULATE command only works if it has been explicitly enabled in lircd. -h --help display usage summary -v --version display version -d --device use given lircd socket [/var/run/lirc/lircd] -a --address=host[:port] connect to lircd at this address -# --count=n send command n times EXAMPLES
irsend LIST DenonTuner "" irsend SEND_ONCE DenonTuner PROG-SCAN irsend SEND_ONCE OnkyoAmpli VOL-UP VOL-UP VOL-UP VOL-UP irsend SEND_START OnkyoAmpli VOL-DOWN ; sleep 3 irsend SEND_STOP OnkyoAmpli VOL-DOWN irsend SET_TRANSMITTERS 1 irsend SET_TRANSMITTERS 1 3 4 irsend SIMULATE "0000000000000476 00 OK TECHNISAT_ST3004S" FILES
/etc/lirc/lircd.conf Default lircd configuration file. It should contain all the remotes, their infra-red codes and the corresponding timing and wave- form details. DIAGNOSTICS
If lircd is not running (or /var/run/lirc/lircd lacks write permissions) irsend aborts with the following diagnostics: "irsend: could not connect to socket" "irsend: Connection refused" (or "Permission denied"). SEE ALSO
The documentation for lirc is maintained as html pages. They are located under html/ in the documentation directory. lircd(8), mode2(1), smode2(1), xmode2(1), irrecord(1), irw(1), http://www.lirc.org. irsend 0.9.0-pre1 October 2010 IRSEND(1)
All times are GMT -4. The time now is 02:42 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy