Help in using date command inside awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Help in using date command inside awk
# 1  
Old 06-21-2013
Help in using date command inside awk

Hi All,



Code:
bash-3.2$ autorep -J BOX_NAME% -l0 | grep BOX_NAME| awk -f awkScript.awk

sh: -c: line 0: unexpected EOF while looking for matching `"'
sh: -c: line 1: syntax error: unexpected end of file
        BOX_NAME SU 06/21/2013 03:44:03 06/21/2013 07:46:37 0

#My awkfile 
{               
       "date +%s -d \""$2" "$3"\"" | getline startTime;
       "date +%s -d \""$4" "$5"\"" | getline endTime;
       duration = (endTime - startTime)/60;
printf "\t" "%s %s %s %s %s %s %s\n",$1,$6,$2,$3,$4,$5,duration
}

when I hardcode the values in places of field variables inside date command , that works.

So basically my question is how should I use field variables like $1,$2 etc in date command in awk , I should I use quotes with them.

I tried finding on google but could not get answer .


Thanks.
Spark.
# 2  
Old 06-21-2013
You could use system() for example.
Code:
$ echo "+%w" | awk '{system("date " $1)}'
5

# 3  
Old 06-21-2013
Code:
$ awk '{ ("date +%s -d " q $1 s $2 s $3 q )| getline dt; print dt }' q='"' s=' ' <<<'1 day ago'
1371735965
$ awk '{ ("date +%s -d " q $1 s $2 s $3 q )| getline dt; print dt }' q='"' s=' ' <<<'10 day ago'
1370958368

Try using the following awk script:

Code:
BEGIN {
  s = " "; q = "'"
  cmd = "date +%s -d "
  }
{
  args = q $2 s $3 q
  (cmd args) | getline startTime
  close(cmd args)
  args = q $4 s $5 q
  (cmd args) | getline endTime
  close(cmd args)
  duration = (endTime - startTime)/60
  printf "\t%s %s %s %s %s %s %s\n", $1, $6, $2, $3, $4, $5, duration
}


Last edited by radoulov; 06-21-2013 at 11:00 AM.. Reason: Corrected.
This User Gave Thanks to radoulov For This Post:
# 4  
Old 06-22-2013
Thanks radoulov .
This is working like a charm.


Spark.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Run awk command inside ssh

I am trying to run an awk command inside of ssh and it is not working. These are AIX servers. for i in `cat servers`; do ssh $i "/bin/hostname; df -g | awk '/dev/ && $4+0 > 70'"; done server1 server2 server3 server4 I also tried these two methods and they did not work. It just seemed... (5 Replies)
Discussion started by: cokedude
5 Replies

2. UNIX for Advanced & Expert Users

awk trouble inside another command

I tried running this. dsh -w server1 'lsof /audit | awk '{ print $2 }'' It did not like above so I tried to escape the single parenthesis at the end. dsh -w server1 'lsof /audit | awk '{ print $2 }\'' It then hung so I changed up the parenthesis to this. This worked. dsh -w server1... (6 Replies)
Discussion started by: cokedude
6 Replies

3. HP-UX

awk command in hp UNIX subtract 30 days automatically from current date without date illegal option

current date command runs well awk -v t="$(date +%Y-%m-%d)" -F "'" '$1 < t' myname.dat subtract 30 days fails awk -v t="$(date --date="-30days" +%Y-%m-%d)" -F "'" '$1 < t' myname.dat awk command in hp unix subtract 30 days automatically from current date without date illegal option error... (20 Replies)
Discussion started by: kmarcus
20 Replies

4. Shell Programming and Scripting

Find week of the year for given date using date command inside awk

Hi all, Need an urgent help on the below scenario. script: awk -F"," 'BEGIN { #some variable assignment} { #some calculation and put values in array} END { year=#getting it from array and assume this will be 2014 month=#getting it from array and this will be 05 date=#... (7 Replies)
Discussion started by: vijaidhas
7 Replies

5. Shell Programming and Scripting

Command in inside awk statement

Hello can you please help me with below script which is meant to delete clients from multiple netbackup policies I want to run a command insdie awk statement apparelnlty this script is not working for me for i in $( cat clients_list) do bppllist -byclient $i | awk... (6 Replies)
Discussion started by: Sara_84
6 Replies

6. Shell Programming and Scripting

Grep command inside awk

Hi, I would like to use grep command inside awk. Here is my requirement below : file.txt col1 col2 col3 col 4 col 5 wrxwrx 124 jun 3 Sensex.EMEA wrxwrx 120 jun 4 Emex.US wrxwrx 130 feb 3 passion.AUS wrxwrx 145 feb 9 lession.AUS wrxwrx 130 feb 5 pass.US wrxwrx 130 feb 8... (5 Replies)
Discussion started by: Balasankar
5 Replies

7. Shell Programming and Scripting

Multiple command execution inside awk command during xml parsing

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)
Discussion started by: vivek d r
2 Replies

8. Shell Programming and Scripting

How to use same variable value inside as well as outside of the awk command?

Hi Jim, The following script is in working state. But i m having one more problem with awk cmd. Could you tell me how to use any variable inside awk or how to take any variable value outside awk. My problem is i want to maintain one property file in which i am declaring variable value into that... (12 Replies)
Discussion started by: Ganesh Khandare
12 Replies

9. Shell Programming and Scripting

running bash command inside awk

Org file 192.168.1.10 d:\adir\xdir 192.168.1.11 d:\bdir\ydir want to covert it into robocopy \\192.168.1.10\d$\adir\xdir\log* some_localdir\adir robocopy \\192.168.1.10\d$\adir\ydir\log* some_localdir\bbdir (5 Replies)
Discussion started by: ydk
5 Replies

10. Shell Programming and Scripting

Running command inside awk

Hi, I have a awk script to read a CSV file. After reading the values i want to call a executable (nameely call_it) with the values what i read from the scv file. I dont want to use system command inside the awk. Is there any other way to run the executable from the awk script Thanks ... (1 Reply)
Discussion started by: Raghuram.P
1 Replies
Login or Register to Ask a Question