validate input from user for file name


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting validate input from user for file name
# 1  
Old 08-11-2005
validate input from user for file name

Hello,

This may have been addressed already somewhere, however I am looking for the easiest/shortest way to validate a response from a user for a file name.
The file name should not have any of the following characters

~`!@#$%^&*()_-+={[}]|\:;"'<,>.?/

Further the response should not have any control characters or non printable characters.

Please advise which utility to use for this purpose. I am kind of leaning toward either a tr or sed or grep command. Please advise. Thanks.

Jerardfjay
# 2  
Old 08-11-2005
The following function makes the work :
Code:
isValidFileName ()
{
   echo "$1" | egrep -q '^[[:alnum:]]+$'
}

filename=xxxx
if isValidFileName "$filename"
then echo "Valid"
else echo "Invalid !!"
fi


Jean-Pierre.
# 3  
Old 08-11-2005
Quote:
Originally Posted by aigles
The following function makes the work :
Code:
isValidFileName ()
{
   echo "$1" | egrep -q '^[[:alnum:]]+$'
}

filename=xxxx
if isValidFileName "$filename"
then echo "Valid"
else echo "Invalid !!"
fi


Jean-Pierre.
Jean-Pierre. Thanks for your quick response.
This code works fine except when I enter "*" for the file name, then the shell expands all of the current files within my current folder where I have the shell script running and returns that the name of the file is valid, which we know is not true. How can I overcome this? Thanks. Jerardfjay

Sorry. This code works fine. There were other checks which were causing the error and not this piece of code. Thank you.

Last edited by jerardfjay; 08-11-2005 at 12:56 PM.. Reason: Incorrect response
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

How to validate user's input..?

$Input_filename=$ARGV; if (!-d $Input_filename && ! -e $Input_filename) { print "USAGE: Please enter '$ABCD/def/dsed.txt' as an arguement \n"; exit; } 1. Input Is suppose to be something like "$ABCD/def/dsed.txt". if the input is wrong the script should throw an ERROR message.... (2 Replies)
Discussion started by: Rashid Khan
2 Replies

2. Shell Programming and Scripting

[bash] how is proper way to validate user input

hi all, i have a script that need user input provide all variables that needed to complete a job. this is my current script: echo "type file source and it full path :" read INPUTFILE if || ; then echo "ERROR: you didn't enter a file source or file source is not... (2 Replies)
Discussion started by: makan
2 Replies

3. Shell Programming and Scripting

Another validate input Question.

I'm writing a bash shell script to 'help' me post to susepaste (I can NEVER remember the time options). Here's the code: #!/bin/bash ########## # # Project : personal script. # Started : Wed Aug 03, 2011 # Author : Habitual # Description : susepaste c-li script with user... (5 Replies)
Discussion started by: Habitual
5 Replies

4. Shell Programming and Scripting

The scope of the shell/perl script is to read the input text file. Validate the expiry date of each

The scope of the shell/perl script is to read the input text file. Validate the expiry date of each certificate and send the mail to the user. The user takes action to add the new certificate to the storage file and user owns the responsibility to update the input text file with the new certificate... (5 Replies)
Discussion started by: casmo
5 Replies

5. Shell Programming and Scripting

Is there a simpler way to validate user input for float?

I'm trying to only read price (FLOAT (i.e 1.10, 3.14, etc etc)) If the input is just an integer, I will add a .00 behind. (i.e 3 becomes 3.00 , 20 becomes 20.00) If the input is without 2 decimal places, I'll add a 0. (i.e 3.1 becomes 3.10) I tried using the below code, it works but I don't... (6 Replies)
Discussion started by: andylbh
6 Replies

6. Shell Programming and Scripting

How to validate input parameters?

Hi, I wonder how I can know if the input parameters to the script are numbers or text Thanks (11 Replies)
Discussion started by: Gengis-Kahn
11 Replies

7. Shell Programming and Scripting

Validate and sort input

Hi, This will most likely be a simple answer. Currently I have a situation where my script will be sent various options: -o1 -o2 -oe3@somthing.com Now, if I want to run a certain command based on the option I am sent, I am doing the following. for o in $(echo $options) do if ... (3 Replies)
Discussion started by: stuaz
3 Replies

8. UNIX for Dummies Questions & Answers

BASH validate user input

Hey, im trying to validate a user input and need some help. The input needs to be just a single letter. Im using a case to so this eg: read answer case $answer in *) echo "OK" ;; *) echo "This is a number" read answer ;; *) echo... (2 Replies)
Discussion started by: 602chrislys
2 Replies

9. Shell Programming and Scripting

validate input

the user inputs names that have to be inside square brackets I want to check if the user puts the brackets and if not ask him to re-enter the names (9 Replies)
Discussion started by: DDoS
9 Replies

10. Shell Programming and Scripting

How to validate input values

Hi How would i validate value of a variable whether it is number,date or string Thanks in advance Sas (5 Replies)
Discussion started by: SasDutta
5 Replies
Login or Register to Ask a Question