Sponsored Content
Top Forums Shell Programming and Scripting [BASH] Allow name with spaces (regex) Post 302585123 by whyte_rhyno on Tuesday 27th of December 2011 02:52:08 PM
Old 12-27-2011
[BASH] Allow name with spaces (regex)

Hey all,

I have a very simple regular expression that I use when I want to allow only letters with spaces. (I know this regex has a lot of shortcomings, but I'm still trying to learn them)

Code:
isAlpha='^[a-zA-Z\s]*$'

However, when I bring this over to BASH it doesn't allow me to enter spaces.

I use the following code to produce a variable, which I then check if check is empty or not:
Code:
check=`echo $name | sed "s/\($isAlpha\)//"`

Any suggestions are greatly appreciated.

---------- Post updated at 07:52 PM ---------- Previous update was at 07:32 PM ----------

Sorry Scott,

When I say enter spaces I mean if I entered the following name:

John James Doe

That should be a valid match, but it isn't. Instead I have to enter

JohnJamesDoe (no spaces)

For it to be valid. I would like to be able to enter a name with a space (as in example 1)

In regards to the "remembered expression", I was following some online tutorials and that's how it showed me. If it is incorrect, I would appreciate it if you could show me the right way.

[Edit]: I did hit "post reply" but it just edited my main post and appeared to delete Scott's post... Sorry for the confusion.

Last edited by whyte_rhyno; 12-27-2011 at 03:54 PM.. Reason: Something went terribly wrong. Sorry.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

regex test in bash

Hi I want to do a regex test and branch based on the test result, but this doesn't seems to work :confused: if \) ]] then echo success else echo failed fi (1 Reply)
Discussion started by: subin_bala
1 Replies

2. Shell Programming and Scripting

bash regex =~ case insensetive, possible?

It can get very annoying that bash regex =~ is case-sensetive, is there a way to set it to be case-insensetive? if ]; then echo match else echo no match fi (8 Replies)
Discussion started by: TehOne
8 Replies

3. Shell Programming and Scripting

[BASH/SH] Regex/Rematching Problems

Hi anyone, since Sunday I try to create a schellscript that reads the last 10 lines of text out of a log and parses the guid's of the entrys in there. The log looks like this: ClienUserinfo: ... \cl_guid\XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX\...i tried to parse it like this: for line in $(tail -n 10... (18 Replies)
Discussion started by: s0lll0s
18 Replies

4. Shell Programming and Scripting

Bash regex

Hello everybody, I'm clearly not an expert in bash scripting as I've written maybe less than 10 scripts in my life. I'm trying to strip an xml string removing every tag in it. I'm using bash substitution to do so, but apparently I missed something about what is a regex for bash ... As an... (4 Replies)
Discussion started by: kerloi
4 Replies

5. Shell Programming and Scripting

Bash regex help

I've been using the following regex below in a bash script on RHEL 5.5 using version GNU bash, version 3.2.25(1)-release I've tried using the script on RHEL 6.3 which uses GNU bash, version 4.1.2(1)-release I assume there's been alot of changes to bash since that's quite a jump in revisions.... (12 Replies)
Discussion started by: woodson2
12 Replies

6. Shell Programming and Scripting

Hi im new to bash scripting I want to know what does the regex expression do ??

# check host value regex='^(||1|2|25)(\.(||1|2|25)){3}$' if ')" != "" ]; then if ]; then echo host $host not found exit 4 fi elif ]; then echo $host is an invalid host address exit 5 fi (1 Reply)
Discussion started by: kevin298
1 Replies

7. UNIX for Dummies Questions & Answers

Need help with Regex for bash

Hi, I am trying to match this word: hexagon-bx.mydomain.com with regex. I have tried this: "\.*]*$" So far I have not been successful. I also need to make sure that the regex will match words that just have lowercase letters and numbers in them, such as camera01. How can I create such an... (5 Replies)
Discussion started by: newbie2010
5 Replies

8. UNIX for Dummies Questions & Answers

Regex for (a|b) in bash

I am trying to find files using the following by using simple bash script: if -2014 ]]; then echo "yes";fi What I need to find are any files with date 08-**-2014 so August 2014 any files. I can use if -2014 ]]; then echo "yes";fi That works fine. How do I get files beginning with 08... (1 Reply)
Discussion started by: newbie2010
1 Replies

9. Shell Programming and Scripting

Using RegEx with variable within bash if [[ ]]

I stumbled upon a problem, which I simplified to this: There is a list of numbers, stored in variable $LIST, lets use `seq 5 25` for demonstration. There is a number that should be compared against this list. For demonstration I use user input - read VALUE I am trying to compare RegEx... (2 Replies)
Discussion started by: Zorbeg
2 Replies

10. Shell Programming and Scripting

Regex with spaces

I have a number of files that I need to return a yes for this command. CDATE="Feb" if ] && $CDATE="Feb" ]]; then echo "yes";fi However, the files look like this: CAR LIST DIRECTORY.TXT CHRYSLER LIST DIRECTORY.TXT Apparently the files are not picked up because of spaces. Can... (5 Replies)
Discussion started by: newbie2010
5 Replies
ckstr(1)							   User Commands							  ckstr(1)

NAME
ckstr, errstr, helpstr, valstr - display a prompt; verify and return a string answer SYNOPSIS
ckstr [-Q] [-W width] [ [-r regexp] [...]] [-l length] [-d default] [-h help] [-e error] [-p prompt] [-k pid [- s signal]] /usr/sadm/bin/errstr [-W width] [-e error] [-l length] [ [-r regexp] [...]] /usr/sadm/bin/helpstr [-W width] [-h help] [-l length] [ [-r regexp] [...]] /usr/sadm/bin/valstr [-l length] [ [-r regexp] [...]] input DESCRIPTION
The ckstr utility prompts a user and validates the response. It defines, among other things, a prompt message whose response should be a string, text for help and error messages, and a default value (which are returned if the user responds with a RETURN). The answer returned from this command must match the defined regular expression and be no longer than the length specified. If no regular expression is given, valid input must be a string with a length less than or equal to the length defined with no internal, leading or trailing white space. If no length is defined, the length is not checked. All messages are limited in length to 79 characters and are formatted automatically. Tabs and newlines are removed after a single white space character in a message definition, but spaces are not removed. When a tilde is placed at the beginning or end of a message defini- tion, the default text will be inserted at that point, allowing both custom text and the default text to be displayed. If the prompt, help or error message is not defined, the default message (as defined under EXAMPLES) is displayed. Three visual tool modules are linked to the ckstr command. They are errstr (which formats and displays an error message on the standard output), helpstr (which formats and displays a help message on the standard output), and valstr (which validates a response). OPTIONS
The following options are supported: -d default Defines the default value as default. The default is not validated and so does not have to meet any criteria. -e error Defines the error message as error. -h help Defines the help message as help. -k pid Specifies that process ID pid is to be sent a signal if the user chooses to quit. -l length Specifies the maximum length of the input. -p prompt Defines the prompt message as prompt. -Q Specifies that quit will not be allowed as a valid response. -r regexp Specifies a regular expression, regexp, against which the input should be validated. May include white space. If multiple expressions are defined, the answer need match only one of them. -s signal Specifies that the process ID pid defined with the -k option is to be sent signal signal when quit is chosen. If no signal is specified, SIGTERM is used. -W width Specifies that prompt, help and error messages will be formatted to a line length of width. OPERANDS
The following operand is supported: input Input to be verified against format length and/or regular expression criteria. EXAMPLES
Example 1 Default prompt The default prompt for ckstr is: example% ckstr Enter an appropriate value [?,q]: Example 2 Default error message The default error message is dependent upon the type of validation involved. The user will be told either that the length or the pattern matching failed. The default error message is: example% /usr/sadm/bin/errstr ERROR: Please enter a string which contains no embedded, leading or trailing spaces or tabs. Example 3 Default help message The default help message is also dependent upon the type of validation involved. If a regular expression has been defined, the message is: example% /usr/sadm/bin/helpstr -r regexp Please enter a string which matches the following pattern: regexp Other messages define the length requirement and the definition of a string. Example 4 Using the quit option When the quit option is chosen (and allowed), q is returned along with the return code 3. Quit input gets a trailing newline. Example 5 Using the valstr module The valstr module will produce a usage message on stderr. It returns 0 for success and non-zero for failure. example% /usr/sadm/bin/valstr usage: valstr [-l length] [[-r regexp] [...]] input EXIT STATUS
The following exit values are returned: 0 Successful execution. 1 EOF on input, or negative width on -W option, or usage error. 2 Invalid regular expression. 3 User termination (quit). ATTRIBUTES
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Availability |SUNWcsu | +-----------------------------+-----------------------------+ SEE ALSO
signal.h(3HEAD), attributes(5) SunOS 5.11 14 Sep 1992 ckstr(1)
All times are GMT -4. The time now is 01:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy