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
sdiff(1)						      General Commands Manual							  sdiff(1)

NAME
sdiff - Compares two files and displays the differences in a side-by-side format SYNOPSIS
sdiff [-l | -s] [-w number] [-o output_file] file1 file2 The sdiff command reads file1 and file2, uses diff to compare them, and writes the results to standard output in a side-by-side format. OPTIONS
Displays only the left side when lines are identical. Creates a third file, output_file, by a controlled interactive line-by-line merging of file1 and file2. The following subcommands govern the creation of this file: Adds the left side to output_file. Adds the right side to output_file. Stops displaying identical lines. Begins displaying identical lines. Enters ed with the left side, the right side, both sides, or an empty file, respectively. Each time you exit from ed, sdiff writes the resulting edited file to the end of output_file. If you fail to save the changes before exiting, sdiff writes the initial input to output_file. Exits the interactive session. Suppresses display of identical lines. Sets the width of the output line to number (130 characters by default). DESCRIPTION
The sdiff command displays each line of the two files with a series of spaces between them if the lines are identical, a < (left angle bracket) in the field of spaces if the line only exists in file1, a > (right angle bracket) if the line only exists in file2, and a | (ver- tical bar) for lines that are different. When you specify the -o option, sdiff produces a third file by merging file1 and file2 according to your instructions. Note that the sdiff command invokes the diff -b command to compare two input files. The -b option causes the diff command to ignore trail- ing spaces, tab characters, and consider other strings of spaces as equal. EXAMPLES
To print a comparison of two files, enter: sdiff chap1.bak chap1 This displays a side-by-side listing that compares each line of chap1.bak and chap1. To display only the lines that differ, enter: sdiff -s -w 80 chap1.bak chap1 This displays the differences at the tty. The -w 80 sets page width to 80 columns. The -s option tells sdiff not to display lines that are identical in both files. To selectively combine parts of two files, enter: sdiff -s -w 80 -o chap1.combo chap1.bak chap1 This combines chap1.bak and chap1 into a new file called chap1.combo. For each group of differing lines, sdiff asks you which group to keep or whether you want to edit them using ed. SEE ALSO
Commands: diff(1), ed(1) sdiff(1)
All times are GMT -4. The time now is 08:11 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy