Validation of variable


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Validation of variable
# 1  
Old 08-02-2011
Validation of variable

Hey people, I got small little error which says I entered too many argument in the if else list.
The stock contains a list of information.
The 4th field consist of the quantity available, so I'm trying to alert the user that the stock is less than 3 and needed to restock.
Is this the correct way to do, cuz I'm having errors..

Code:
function alert_stock
{
    qtyA=`cat stockDB.txt | cut -d: -f4`
    if [ $qtyA -lt 3 ]; then

    echo $qtyA

    fi
}

# 2  
Old 08-02-2011
Almost always use quotes around variables. And you need arithmetic operators for arithmetic comparison and you need quote them (because of shell redirection operators). So try:
Code:
[ "$qtyA" \< 3 ]

PS Please give the exact error message and after what action you got it.
This User Gave Thanks to yazu For This Post:
# 3  
Old 08-02-2011
haha thx it works!! but it show one show chunk of inputs in a line but included all the list of stocks which even has more than 3.
I thought that after cutting the amount and display, everything will be less than 3.

---------- Post updated at 11:48 PM ---------- Previous update was at 10:47 PM ----------

Ok I done another way using awk.
It will print for the first field name and the fourth field which is the stock.
I know something wrong with the $4<3.
Anyone can enlighten me?
All the script want is to print anything that has less than 3.

Code:
{  
    awk -F: '{printf "%-1s,%-10s\n", $1, $4<3}' stockDB.txt
}

---------- Post updated at 11:48 PM ---------- Previous update was at 11:48 PM ----------

Ok I done another way using awk.
It will print for the first field name and the fourth field which is the stock.
I know something wrong with the $4<3.
Anyone can enlighten me?
All the script want is to print anything that has less than 3.

Code:
{  
    awk -F: '{printf "%-1s,%-10s\n", $1, $4<3}' stockDB.txt
}

# 4  
Old 08-02-2011
either:
Code:
function alert_stock
{
    qtyA=`cat stockDB.txt | cut -d: -f4`
    if [ "$qtyA" -lt 3 ]; then

    echo $qtyA

    fi
}

the above performs the numerical comparison (unlike '<' which is alphabetical).
OR
Code:
awk -F: '{printf "%-1s,%-10s\n", $1, int($4)<3}' stockDB.txt

some awk-s are more picky than the others.
This User Gave Thanks to vgersh99 For This Post:
# 5  
Old 08-02-2011
Oh yes Smilie. Too much perl programming Smilie. Thank you.
# 6  
Old 08-02-2011
Sample A, 0
Sample B, 0
Sample C, 0
.
.
.

All About Ubuntu, 1

The stock currently for All About Ubuntu actual amount should be 2 but the output is 1.

Haha it does work somehow., However it shows the list of amount with 0 at the side.

I've tried

Code:
awk -F: '$4<='3'' BookDB.txt

It works it pick up every value that has less than 3. But I need to rename it properly.

Current output:
All About Ubuntu:Ubuntu:30:2:2

Desired output
All About Ubuntu, 2

---------- Post updated at 01:05 AM ---------- Previous update was at 12:23 AM ----------

Urm like previously explained above, now I can show the specific amount which is less than 10.
However now show all the 5 field in the output.
All the output wants is to show the first field(Name) and the 4th field(Current Quantity).
I tried to use printf together with this, but failed.. Smilie

Code:
awk -F: '$4<='10'' BookDB.txt

# 7  
Old 08-02-2011
Code:
awk -F: '$4<=10 {print $1, $4}' OFS=:  BookDB.txt

This User Gave Thanks to vgersh99 For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Validation using While and IF

I am learning Shell scripting on own. I am trying to do an assignment to get details from the user like username their individual marks ,DOB and send a report in mail with the Details calculated like total and average. validate_marks() { local Value=$1 if && then return 0 else... (1 Reply)
Discussion started by: JayashreeRobin
1 Replies

2. Shell Programming and Scripting

Value validation

Hi All I am trying to validate a value using if condition requirement is need to check whether its a valid numeric value the input contains ( space, #N/A and negative and positive decimal values and Zeros) if it contains the space, I need to display the error message as space ... (15 Replies)
Discussion started by: tsurendra
15 Replies

3. Shell Programming and Scripting

File validation

Hi there, As a part of file validation, I needed to check for delimiter count in the file. My aim is to find, how many records have failed to have predefined numbers of delimiters in the file. My code looks like below i=`awk -F '|' 'NF != 2 {print NR, $0} ' ${pinb_fldr}/${pfile}DAT |... (3 Replies)
Discussion started by: anandapani
3 Replies

4. Shell Programming and Scripting

Variable Validation

Hi Guys, I am getting count from a file (pipe delimited). "23"|"9896"|"20090101"|"New Load" I am using the following code to get the first two counts. CtrlFileByte=`/bin/gawk -F"|" '{ print $1 }' $ControlFile`; CtrlFileCnt=`/bin/gawk -F"|" '{ print $2 }' $ControlFile`; But the... (2 Replies)
Discussion started by: mac4rfree
2 Replies

5. Shell Programming and Scripting

Name validation

Hi All, I need to write a small piece of code to check the following. name should contain (A-Z), spaces, hyphens & apostrophes I need to generate regular expressions for the same. Please help me out as i am not familiar with regular expressions. (1 Reply)
Discussion started by: lifzgud
1 Replies

6. Shell Programming and Scripting

Validation help

Hi, I am new to Unix shell scripting and need help to add some validation to an existing script. I've made a script that takes two argument (input) but I want the script to display an error message when nothing (null) is entered. So far I managed to validate the fist argument but fail to... (2 Replies)
Discussion started by: zen10
2 Replies

7. Web Development

Validation in php help !

I am validating a form using php script and I want to "echo" the error message near to the text box itself & not below all the controls....Can I Position the display messages ?..Pls help me... (2 Replies)
Discussion started by: gameboy87
2 Replies

8. UNIX for Dummies Questions & Answers

Validation

I'm kinda new in shell scripting. How do i validate an input from a user to conform to requirement. For example, echo "Enter First Name: " read FName echo "Enter Date of Employment (dd/mm/yyyy): " read DoE If the user enters data that is alphanumeric, it accepts it. I hope i've... (1 Reply)
Discussion started by: Allenzo
1 Replies

9. UNIX for Dummies Questions & Answers

validation on a parameter

Hi guys! Im tryin to set up a login script that allows a user to login with only the following "forename.surname" . The username all contain lowercase letters so thats not a problem to sort out, but im having problems making sure that they can only enter 1 " . " . the code i have so far is this... (1 Reply)
Discussion started by: Henley55
1 Replies

10. Shell Programming and Scripting

Input validation ?

I am trying to validate user input, at the moment what i have is as below :- echo "\n\tPlease, enter package name to import: \c" read PACKAGE So far this works perfect , But if the user does not input any thing it stalls :( What I need is, If the user does not enter the name of the... (9 Replies)
Discussion started by: systemali
9 Replies
Login or Register to Ask a Question