Value validation


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Value validation
# 8  
Old 01-17-2014
I am giving more details about my requirement
I got a file which has two columns, first column is of city and the second is of temperature
I search for the city and get the temperature value and dsplay based on that value
If temperature might be a space or number of space or non numeric or a negative value......I need to display what value
it is and change it to in all the above cases
if it is a positive value ( either decimal) then I need to used it for addition or subtraction
as per your above, it seems you need to give each value seperatly and it is exactly checking for that paticular value,
say suppose

" ") echo got a space;;

its only checking for one space, if i get more spaces its not considering

Code:
 length=`echo $temp | wc -c`
if [ $length -le 0 ]
then
temp=0
fi
if [ $temp -lt 0 ]
then
echo "$city Negative temp"
temp=0
else
if [ $temp = 0 ]
then
echo "$city No temp" temp=0
fi
fi


Please advice

Last edited by Scott; 01-17-2014 at 09:54 AM.. Reason: Code tags, not icode tags, please, for blocks of code
# 9  
Old 01-17-2014
Show us your sample input file and expected output.
# 10  
Old 01-17-2014
Input

Code:
Newyork -10
London 20
Mumbai #N/A
Dubai 
Paris 10.45


Output

Code:
Newyork Negative value
London 20
Mumbai Invalid value
Dubai No value
Paris 10.45

# 11  
Old 01-17-2014
Assuming that this is processing a file, then there is a high cost to calculating the length this way. Have you considered:-
Code:
length="${#temp}"

You should also consider a case statement to branch to appropriate code as if...then...else....if....fi....fi can be confusing to read through. If you only have three options, it would be neater as a start to have something like:-
Code:
for val in a b c a b a
do
   if [ $val = a ]
   then
      echo val=a
   elif [ $val = b ]
   then
      echo val=b
   else
      echo other
   fi
done

Overall it would be better to write it as:
Code:
for val in a b c a b a
do
   case "$val" in
      a) echo val=a ;;
      b) echo val=b ;;
      *) echo other ;;
   esac
done

Can you adapt this to fit your input and generate your output? You might need to slice up your variable and work on the first character, so if you are holding the the value val then the first character is "${val%${val#?}"

Does this help?




Robin
Liverpool/Blackburn
UK
# 12  
Old 01-17-2014
Code:
$ cat file
Newyork -10
London 20
Mumbai #N/A
Dubai
Paris 10.45

Code:
$ awk '$2~/[0-9]/ && $2<0{$2="Negative value"}!$2{$2="No value"}$2~/^#.*/{$2="Invalid value"}1' file

Code:
Newyork Negative value
London 20
Mumbai Invalid value
Dubai No value
Paris 10.45

# 13  
Old 01-21-2014
thanks for that.

But its throwing the error

Code:
awk: syntax error near line 1
awk: bailing out near line 1

# 14  
Old 01-21-2014
Solaris ? then use nawk
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

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

3. Shell Programming and Scripting

Files validation

Hi, I want a script to do the following: 1)I want to find all latest files with extension *.doc and write those files to a log file which i did. my script: find *.doc -mtime -1 -ls > test.log 2) suppose if there is no such latest files extracts script should write "Server... (8 Replies)
Discussion started by: sv0081493
8 Replies

4. Programming

URL Validation Help in C

Hi friends, I have been writing one c code to validate any url passed by a user. Here is the code I have so far coded. I am using one dictionary file to check values like http, https, www, ftp, etc for the URL that a user will pass for validation. My code so far holds good for every thing... (1 Reply)
Discussion started by: prinsh
1 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. Shell Programming and Scripting

Filename Validation

Hi All, We need to use & execute some several scripts before loading the data successfully using Informatica. Can you help me the below scenario: We will be receiving the files from different countries, and using ftp all the files will be placed onto the server. The file structure will be (.csv... (6 Replies)
Discussion started by: psr2009
6 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

Date Validation:

Hi I have below file with 3 rd column as date ....i want to make 3 column to mm/dd/yyyy . in the below file 2 row date is like 1/23/1994 so i want to append '0' to month i,e. 01/23/1994 and in the 3 row date is like 6/4/1994 ---so i want this to 06/04/1994 Source:... (1 Reply)
Discussion started by: satyam_sat
1 Replies
Login or Register to Ask a Question