[Solved] How to debug awk script?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting [Solved] How to debug awk script?
# 1  
Old 10-30-2013
[Solved] How to debug awk script?

how can i view what variables are stored upon the excution of an awk script.

something equivalent to shell eg. sh -vx "script_file"


many thanks in advance!
# 2  
Old 10-30-2013
You can add print or printf statements in appropriate places in your code.

If you want to build in debugging prints that don't normally print, but can be turned on when needed, you can make the prints only occur when a variable is set to a certain range of values. For example:
Code:
awk '
debug {printf("NR=%d, FNR=%d, NF=%d, $0=\"%s\"\n", NR, FNR, NF, $0)}
whatever your script normally does
' file

will do whatever your script normally does, while changing the 1st line to:
Code:
awk -v debug=1 '

will print your debugging information for every line read in addition to doing whatever your script normally does.
This User Gave Thanks to Don Cragun For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Ubuntu

Debug script

How can I debug this script? I want to know what it is doing or not doing? #!/bin/bash # # if ; then # Do the thing you want before suspend here echo "we are suspending." > /tmp/systemd_suspend_test.txt elif ; then # Do the thing you want after resume here echo "and we are... (21 Replies)
Discussion started by: drew77
21 Replies

2. Shell Programming and Scripting

[SOLVED] Why awk script will not output to file?

I have a script that looks like this: for f in LISTDETAIL; do gawk -f script_0113b "$LISTDETAIL";done It works perfectly, and I can see input on the screen. I have tried to redirect it to a file with the following techniques, but no luck: for f in LISTDETAIL; do gawk -f script_0113b... (2 Replies)
Discussion started by: newbie2010
2 Replies

3. Solaris

[Solved] Using awk withing a shell script

I am trying to use an awk command within a ksh script but it is not working - I am able to run from command line with no problem. It does not err out - it just does not produce a file with final count. awk "{s+=$0} END {print s}" es.out > es.cntAny help would be greatly appreciated. Thanks (6 Replies)
Discussion started by: bjdamon
6 Replies

4. Shell Programming and Scripting

Debug script already running

Hello, is it possible to debug a script that is already running "on-demand"? Somehow a command like "set -x" but once you've executed the script. And another one to disable debugging? Thank you (0 Replies)
Discussion started by: asanchez
0 Replies

5. Shell Programming and Scripting

AWK variable in Main script??? solved

Using an awk script , i want to store the value of a variable in the main script. currently sum is getting reset to blank in the main script. How to modify the below code to get the value of esum in the variable sum of the main script??? sum=`echo "$row" | awk -F"" '{$esum=$5}'` ... (0 Replies)
Discussion started by: skyineyes
0 Replies

6. Shell Programming and Scripting

Help with debug the script

Hi, I have this script, searches and sets variables, then searches and sets more variables from multiple files. I'd need to debug it a bit. #!/bin/bash egrep $1 `find | grep MAGT` >/tmp/resRA-$$ thread=`sed -n '/{0x/ {s/^.*{0x\(*\).*/\1/p;q}' /tmp/resRA-$$` tag=`sed -n '/Tag=/... (5 Replies)
Discussion started by: Vitoriung
5 Replies

7. Shell Programming and Scripting

Please help to debug a small shell script (maybe AWK problem)?

Hi Buddies, The following is shell scripts which was borrowed from linux box for load average check. it runs good. (this structure is simple, when load average is too high, it will send alert to user) #!/usr/bin/ksh # Set threshold for 1, 5 and 15 minture load avarage # configured for... (4 Replies)
Discussion started by: GreatJerry
4 Replies

8. Shell Programming and Scripting

debug this script

echo "input time in hhmmss" read $st h=`echo $st | cut -c1-2` min=`echo $st | cut -c3-4` s=`echo $st | cut -c5-6` echo "input time in hhmmss" read $end h1=`echo $end | cut -c1-2` min1=`echo $end | cut -c3-4` s1=`echo $end | cut -c5-6` x= `expr $h /* 60 + $min` y= `expr $h1 /* 60 +... (8 Replies)
Discussion started by: abhishek27
8 Replies

9. Shell Programming and Scripting

How to debug the awk script

Hi, How can I debug an awk script? I know that set -x can be used to debug a script. But this will not suite for awk scripts. Can anyone help me? Thanks in advance, Chella (2 Replies)
Discussion started by: chella
2 Replies

10. Shell Programming and Scripting

Debug an Awk Script

I would like to extract the following fields from the text file attached. I copied the contents from a pdf file and pasted them into the text file so I can use awk to extract them. The layout is as listed below. name1,name2,name3,name4,Title,designation,nationality,dob, national ... (1 Reply)
Discussion started by: mboro
1 Replies
Login or Register to Ask a Question