No error in awk...


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers No error in awk...
# 1  
Old 03-30-2016
No error in awk...

Hi all...

In the OSX forum I am starting a new awk project to learn awk.

In this code snippet I have had to check boundaries to ensure that no NUMERICAL error occurs in the rest of the code...
Code:
	printf "Enter frequency required:- ";
	getline FREQ;
	RATE=(BYTES*FREQ);
	if ( RATE <= 4000 ) { RATE=4000 };
	if ( RATE >= 48000 ) { RATE=48000 };
	return RATE;

What I don't understand however, is when I enter random characters I expect an error, but instead I get the RATE set to '4000' and it keeps working.
Can one of you awk experts explain what is happening and/or why?

Many thanks in advance...
# 2  
Old 03-30-2016
If FREQ is garbage, its numerical value is zero by design with awk, then RATE is zero too, finally RATE being less than 4000 is set to 4000.
This User Gave Thanks to jlliagre For This Post:
# 3  
Old 03-30-2016
try, add line after getline:
Code:
if (! (FREQ+=0)) return 0;

This User Gave Thanks to rdrtx1 For This Post:
# 4  
Old 03-30-2016
To detect random input, I'd rather add this test after getline:

Code:
if(FREQ !=0 && FREQ+0==0) { printf("Invalid frequency: [%s]\n",FREQ); exit 1 ; }

Note that all your lines are ended by a semicolon but this is not needed with awk. Unlike with C, an end of line is already ending a command so the semicolon is only required to delimit multiple commands on a single line.
This User Gave Thanks to jlliagre For This Post:
# 5  
Old 03-31-2016
Hi jlliagre...

Thanks a lot this makes for easier coding...

I was observing this and was not sure if it was a _feature_ of awk.

I searched all over and could not find anything on the WWW so my last port of call was to ask.

I don't need to detect a user error as it cycles to KB access and a 'QUIT' command anyhow...

Again thanks...
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Error in awk...

Hi friends... (Apoloigies for any typos.) (Don, thanks for your input.) Consider these two code snippets:- awkerror1.awk #!/usr/bin/awk -f BEGIN \ { SAWTOOTHPLUS64 = " !#$&\'\)*,-/0235689:<>?ABDEGHJKMNPQSTVWYZ\\^_abdeghjkmnpqstvwyz|}~" for(LOOP = 1; LOOP <= 13; ++LOOP) {... (3 Replies)
Discussion started by: wisecracker
3 Replies

2. Shell Programming and Scripting

awk output yields error: awk:can't open job_name (Autosys)

Good evening, Im newbie at unix specially with awk From an scheduler program called Autosys i want to extract some data reading an inputfile that comprises jobs names, then formating the output to columns for example 1. This is the inputfile: $ more MapaRep.txt ds_extra_nikira_usuarios... (18 Replies)
Discussion started by: alexcol
18 Replies

3. Shell Programming and Scripting

Error with awk

i have been trying to run the following bash script, but get error: awk: cmd. line:1: - awk: cmd. line:1: ^ unexpected newline or end of string I have been trying to figure out what the problem is but to no avail. I need to run the script urgently for a project, so any help will be highly... (5 Replies)
Discussion started by: anti_antaeus
5 Replies

4. Shell Programming and Scripting

awk Error

Hi I am trying to create a file with count of lines and string from shell variable, i am getting the error incorrect syntax. Below is the code : wc -l $filename | awk '{ print $1"|"$2"|"${SOURCETYPE} }'>>$AUDITFILENAME Could someone help me on this? (7 Replies)
Discussion started by: cnrj
7 Replies

5. Shell Programming and Scripting

awk command in script gives error while same awk command at prompt runs fine: Why?

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)
Discussion started by: catalys
4 Replies

6. Shell Programming and Scripting

AWK error

This is my disk space on solaris box and i wrote a simple script which identifies mount points which crosses 90% or above. But the AWK part is throwing some error and im unable to debug.. mzaheer @ UAT 144 % => df -k Filesystem kbytes used avail capacity Mounted on... (5 Replies)
Discussion started by: user__user3110
5 Replies

7. Shell Programming and Scripting

Awk error -- awk: 0602-562 Field $() is not correct.

typeset -i i=1 while read -r filename; do Splitfile=`$Targetfile_$i.txt` awk 'substr($0,1,5) == substr($filename,1,5) && substr($0,526,2) == substr($filename,6,2) && substr($0,750,12) == substr($filename,8,12)' $SourceFilename >> $Splitfile i=i+1 done < /tmp/list.out I am using this logic... (1 Reply)
Discussion started by: pukars4u
1 Replies

8. UNIX for Dummies Questions & Answers

awk error

Hi all, i have the files in the below sequence: fancy_LANG_STD_AU_2008-03-05.dat fancy_LANG_STD_HK_2008-03-06.dat fancy_LANG_STD_NZ_2008-03-05.dat fancy_STD_AU_2008-03-05.dat fancy_STD_HK_2008-03-06.dat fancy_STD_NZ_2008-03-05.dat i am trying to sort them like below: ... (3 Replies)
Discussion started by: gyankr
3 Replies

9. UNIX for Dummies Questions & Answers

awk Shell Script error : "Syntax Error : `Split' unexpected

hi there i write one awk script file in shell programing the code is related to dd/mm/yy to month, day year format but i get an error please can anybody help me out in this problem ?????? i give my code here including error awk ` # date-month -- convert mm/dd/yy to month day,... (2 Replies)
Discussion started by: Herry
2 Replies

10. Shell Programming and Scripting

Error in awk

var1=`echo "emp,dept,salgrade" | awk -F, '{print NF}'` count=1 while ; do i=`expr $count` tname=`echo "emp,dept,salgrade" | awk -F, '{ print $(echo $i) }'` count=$count+1; echo ${tname}; echo $count done I want to store in tname=emp, tname=dept,tname=salgrade I am getting... (2 Replies)
Discussion started by: dreams5617
2 Replies
Login or Register to Ask a Question