Using metacharacters in loops


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using metacharacters in loops
# 1  
Old 02-11-2002
Question Using metacharacters in loops

Is there a way to use metacharacters in a loop or in an if[ ].
I want to allow a user to enter Y, y, Yes, yes, Yah, etc...
in a loop I tried:

read response
while [ "$response" = "[Yy]*" ]
do........

and

while [ "$response" = "\[Yy\]*" ]
do .........

this works for grep or egrep but not in loops
Why??????
# 2  
Old 02-11-2002
"Why" is a tough question to answer.

But the Korn shell corrected this problem and several others by introducing the [[ syntax:

while [[ $response = [Yy]* ]]

will work. And there is no need to quote $response. Unlike the "[" command, "[[" works fine if $response is empty.

And a warning:

while [[ [Yy]* = $response ]]

will not work. The pattern must be on the right of the equals sign.
# 3  
Old 02-11-2002
while [[ $response = [Yy]* ]]

doesn't work for me--but I'm using the Bourne shell.
# 4  
Old 02-11-2002
The only Bourne shell built-in that uses patterns is the case statement. That's a possibility. But you may want to try a modern shell.
# 5  
Old 02-11-2002
Thanks...Perderabo
You're an amazing resource!!!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash Vs. Bourne REGEX: metacharacters escaping

I am currently reading a very old reference from O'Reilly: Sed and Awk 2nd Edition reprinted in 2000. So far, it's a solid read and still very relevant. I'd highly recommend this to anyone. The only problem I have with this book is that I had to resort to bourne shell to get my examples to work... (3 Replies)
Discussion started by: ConcealedKnight
3 Replies

2. UNIX for Dummies Questions & Answers

display types of files using metacharacters

1) I want to display all the files in a directory that start with the word chapter, are followed by a digit 1,2,6,8, or 9 and end with .eps or .prn so I came up with this file ~/temp/chapter.eps ~/temp/chapter.prn but is there a better way, i.e. combining both file types into the command? ... (2 Replies)
Discussion started by: dunsta
2 Replies

3. Shell Programming and Scripting

metacharacters separation

I have prepared a script to submit a string in a txt file. However there are somethings that I have to check before submitting the string in the txt file. One of those checks is to determine whether the string entered contains any metacharacters. I have tried sth like; echo "string" | grep -v ... (3 Replies)
Discussion started by: ozum
3 Replies

4. Shell Programming and Scripting

Convert Windows Metacharacters to Regular Text

Hi, all. I have a need to take a flat file FTP'd from Windows to Unix and convert it for loading into a MySQL database without manual intervention. However, some characters are "fancified" (e.g. the fancy Beginning and End double-quotes from Windows) that show up as codes using vi. I need to... (4 Replies)
Discussion started by: superdelic
4 Replies

5. UNIX for Dummies Questions & Answers

The ll command + metacharacters

Hello. I am learning how to use Unix through an online course. Unfortunately the text that we use isn't very good, so I could use some help with a pretty basic question. Use metacharacters and the ll command to list all filenames under the datafiles directory that contain a dot "." with the... (2 Replies)
Discussion started by: feverdream
2 Replies

6. Shell Programming and Scripting

use metacharacters to extract date

If I have a filename as filename.txt.20090807 and I use for FILE in `find . -name "filename*" -type f` do my_time=${FILE#./filename.txt.} I get my output as 20090807 However if my filename is filename.Y20090807.txt Is there a way I can use metacharacters in my... (3 Replies)
Discussion started by: RubinPat
3 Replies

7. Shell Programming and Scripting

passing string which includes metacharacters

I'm trying to create a bash script that takes a URL as one of its arguments like this: ./script.sh http://url.cfm?asdf&asdf=234 variable=$1 echo $variable I'm having trouble storing the URL because it contains the meta character "&" which is being interpreted... thus when I run the... (4 Replies)
Discussion started by: kds1398
4 Replies

8. Shell Programming and Scripting

Metacharacters analysis

:confused:Hi , Can someone please advise what is the meaning of metacharacters in below code? a_PROCESS=${0##*/} a_DPFX=${a_PROCESS%.*} a_LPFX="a_DPFX : $$ : " a_UPFX="Usage: $a_PROCESS" Regards, gehlnar (3 Replies)
Discussion started by: gehlnar
3 Replies

9. Shell Programming and Scripting

stuck on csh metacharacters

Hello, I have a question, please (I am using tcsh). I thought that if you enclose something in double quotes, then the shell won't interpret it. For example, when I do: % echo "ls *" I get ls * However, if I do: % echo "!l" I get echo "ls -F" ls -F (3 Replies)
Discussion started by: A1977
3 Replies

10. UNIX for Dummies Questions & Answers

Metacharacters

I want to display an asterisk to the screen as part of a string. I know how to use the Backslash to escape it's value. But how do I display it without showing the Backslash? (1 Reply)
Discussion started by: regencyabs
1 Replies
Login or Register to Ask a Question