Input Validation of comma separated values


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Input Validation of comma separated values
# 1  
Old 05-25-2011
Input Validation of comma separated values

Hello all,

I am working on a script and have the first part solved of numerical input validation. Below the code validates that the input is a numerical value between 100 and 1000. If not, it errors out. Now I need to be able to read values separated by a comma. For example, instead of my input being let's say 105, I'd like for the input validated to be more like 105,106,500. How can I achieve this masters of scripting?

Current code for custom function:
Code:
get_info_check ()
{
echo
echo "Which INFO check would you like to run?"
echo "The valid range is 100-999."
print -n "Enter INFO number : "
read INFO_CHK
#INPUT VALIDATION HERE!!!
if [[ "$INFO_CHK" != +([0-9]) ]]
  then
      echo
      echo "ERROR: You must enter a valid number!!"
      get_info_check
elif [ "$INFO_CHK" -ge 100 -a "$INFO_CHK" -le 999 ]
  then
     echo "GOOD JOB!!!"
else
     echo
     echo "ERROR: Valid range is 100-999!!"
     get_info_check
fi
}

# 2  
Old 05-25-2011
Here is one way of having the input parameters separated by comma:
Code:
#!/usr/bin/ksh
IFS=','
for mParm in $@
do
  echo "mParm = <$mParm>"
done

This User Gave Thanks to Shell_Life For This Post:
# 3  
Old 05-25-2011
Thanks for your reply. I guess one thing I forgot to mention above is that I only want the input line, because it will be passed off to another script to decide what to do with the input. For example, I want it to echo "GOOD JOB!!!' only when the criteria are met, and error out if any of the comma separated fields are not valid.
# 4  
Old 05-25-2011
Code:
#!/bin/sh

read INFO_CHK

echo "$INFO_CHK" | sed 's/,/\n/g' | while read a; do
    echo "$a"
# Do whatever you want with "$a"
done

The idea here is to convert ,(commas) with \n (new line) so we can read every record the same way we'd do with a file. Hope it will help you
This User Gave Thanks to tukuyomi For This Post:
# 5  
Old 05-25-2011
I see, but will it keep the input such as 105,106,500 in that format, so it can be passed off as an option to another script?
# 6  
Old 05-25-2011
INFO_CHK will keep '105,106,500'
While in the 'while' loop, a will be 105, then 106, then 500, so you can check inputs separately
After the 'done', INFO_CHK will still hold '105,106,500'
Hope it's clear enough Smilie
This User Gave Thanks to tukuyomi For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Convert fixed value fields to comma separated values

Hi All, Hope you are doing Great!!!. Today i have came up with a problem to say exactly it was for performance improvement. I have written code in perl as a solution for this to cut in specific range, but it is taking time to run for files thousands of lines so i am expecting a sed... (9 Replies)
Discussion started by: mad man
9 Replies

2. Shell Programming and Scripting

Parsing Comma Separated values to UNIX variable from PLSQL

Hi All, I'm trying to pass the comma separated values (string) returned from Plsql Procedure to UNIX variable. getting the below log message cat: -: Bad file descriptor awk: cmd. line:1: fatal: error reading input file `-': Bad file descriptor The output coming from plsql procedure is... (3 Replies)
Discussion started by: Mahesh3089
3 Replies

3. Shell Programming and Scripting

Assign comma separated values to a variable

Hi All, I wrote a database command that queries our application and outputs a whole bunch of values to a text file. I need to assign the output to two values. Here is a sample of the output: valueOne, checkOne valueTwo, checkTwo valueThree, checkThree I would like... (9 Replies)
Discussion started by: jeffs42885
9 Replies

4. Shell Programming and Scripting

Comma separated values to individual lines

My OS : RHEL 6.7 I have a text file with comma separated values like below $ cat testString.txt 'JOHN' , 'KEITH' , 'NEWMAN' , 'URSULA' , 'ARIANNA' , 'CHENG', . . . . I want these values to appear like below 'JOHN' , 'KEITH' , 'NEWMAN' , 'URSULA' , 'ARIANNA' , 'CHENG', .... (4 Replies)
Discussion started by: kraljic
4 Replies

5. Shell Programming and Scripting

Needs help in parsing comma separated values

hello experts, i am retrieving values in variables jobKey and jobName within my shell script. these values are returned to me within braces and i am using following command to remove those braces: jobKeys=`echo $jobKeys | sed 's:^.\(.*\).$:\1:'` jobNames=`echo $jobNames | sed... (1 Reply)
Discussion started by: avikaljain
1 Replies

6. UNIX for Dummies Questions & Answers

[solved] Comma separated values to space separated

Hi, I have a large number of files which are written as csv (comma-separated values). Does anyone know of simple sed/awk command do achieve this? Thanks! ---------- Post updated at 10:59 AM ---------- Previous update was at 10:54 AM ---------- Guess I asked this too soon. Found the... (0 Replies)
Discussion started by: lost.identity
0 Replies

7. Shell Programming and Scripting

To agregate Comma separated values

Hi pls help me to get the code: i have a file in which content is : 2.01304E+11 2.01304E+11 ori 2 01:00 2.01304E+11 2.01304E+11 ori 2 01:02 2.01304E+11 2.01304E+11 ori 3 01:02 2.01304E+11 2.01304E+11 ori 3 ... (7 Replies)
Discussion started by: Aditya.Gurgaon
7 Replies

8. Shell Programming and Scripting

script to store comma separated values in different variables

Hello friends, I need ur help.I want to write a script. The script should read contents from a file namely xyz. e.g xyz abcd,1234,efgh,7854378 dhnsa,dsakjkdl,43432,ZXDsa the script should store comma (,) seperated values in different variables. Once pointer will reach end of line (\n), it should... (1 Reply)
Discussion started by: akhtar.bhat
1 Replies

9. Shell Programming and Scripting

Extracting the values separated by comma

Hi, I have a variable which has a list of string separated by comma. for ex , Variable=/usr/bin,/usr/smrshbin,/tmp How can i get the values between the commas separately using shell scripts.Please help me. Thanks, Padmini. (6 Replies)
Discussion started by: padmisri
6 Replies

10. Shell Programming and Scripting

Splitting comma separated values into an array

I'm attempting to create a KSH array out of a string like this: ",,,value1,value2,," I have created the array but I only get two elements, one for value1 and one for value2. I have ended up with something like this but I don't like it: set -A JUNK xx=0 for i in $(print ",,,value1,value2,,"... (3 Replies)
Discussion started by: tmarikle
3 Replies
Login or Register to Ask a Question