bash pattern


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting bash pattern
# 1  
Old 05-06-2012
bash pattern

hi!

When I have a variable that contains the day let's say Sun06
and i want to check if my variable starts with any letter what pattern should I use?

I tried that one,but it returns syntax error..
Code:
if [ "$day" = ([A-Za-z]*) ]; then

# 2  
Old 05-06-2012
I would use case instead of if:
Code:
case "$day" in
([A-Za-z]*) echo ok ;;
(*) echo ko ;;
esac

This User Gave Thanks to jlliagre For This Post:
# 3  
Old 05-06-2012
I would also have a preference for case since it is more portable. Since you are using bash you could also use:
Code:
if [[ "$day" == [A-Za-z]* ]]; then

--
@jlliagre: in light of our other interesting thread, the double quotes can be left out around the variable in the case statement ( case $day in )
This User Gave Thanks to Scrutinizer For This Post:
# 4  
Old 05-07-2012
Quote:
Originally Posted by Scrutinizer
I would also have a preference for case since it is more portable. Since you are using bash you could also use:
Code:
if [[ "$day" == [A-Za-z]* ]]; then

--
@jlliagre: in light of our other interesting thread, the double quotes can be left out around the variable in the case statement ( case $day in )
it can also be left out the left hand side in bash's [[ Smilie

Code:
[[ $day = [[:alpha:]]* ]]

These 2 Users Gave Thanks to neutronscott For This Post:
# 5  
Old 05-07-2012
Ow, yes of course Smilie Thanks neutronscott..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Bash to verify each line in input for specific pattern

In the bash below the out put of a process is written to input. What I am trying to do is read each line in the input and verify/check it for specific text (there are always 6 lines for each file and the specific text for each line is in the description). There will always be 6 lines in each... (5 Replies)
Discussion started by: cmccabe
5 Replies

2. Shell Programming and Scripting

sed -- Find pattern -- print remainder -- plus lines up to pattern -- Minus pattern

The intended result should be : PDF converters 'empty line' gpdftext and pdftotext?xml version="1.0"?> xml:space="preserve"><note-content version="0.1" xmlns:/tomboy/link" xmlns:size="http://beatniksoftware.com/tomboy/size">PDF converters gpdftext and pdftotext</note-content>... (9 Replies)
Discussion started by: Klasform
9 Replies

3. UNIX for Advanced & Expert Users

BASH Internal : Replace pattern with string without external command

Morning, I'm trying step up my scripting game .. :rolleyes::confused::D Is there a way to do the replacement with an or without using an external command ? I did try but no joy. var=${var//\(|\)/} #!/bin/bash var="lulus.UbiRwidgets.com (10.1.1.1)" var=${var//\(/}... (5 Replies)
Discussion started by: popeye
5 Replies

4. Shell Programming and Scripting

Bash pattern matching question

I need to check the condition of a variable before the script continues and it needs to match a specific pattern such as EPS-03-0 or PDF-02-1. The first part is a 3 or 4 letter string followed by a hyphen, then a 01,02 or 03 followed by a hyphen then a 0 or a 1. I know I could check for every... (4 Replies)
Discussion started by: stormcel
4 Replies

5. Shell Programming and Scripting

Insert new pattern in newline after the nth occurrence of a line pattern - Bash in Ubuntu 12.04

Hi, I am getting crazy after days on looking at it: Bash in Ubuntu 12.04.1 I want to do this: pattern="system /path1/file1 file1" new_pattern=" data /path2/file2 file2" file to edit: data.db - I need to search in the file data.db for the nth occurrence of pattern - pattern must... (14 Replies)
Discussion started by: Phil3759
14 Replies

6. Shell Programming and Scripting

bash: need to have egrep to return a text string if the search pattern has NOT been found

Hello all, after spending hours of searching the web I decided to create an account here. This is my first post and I hope one of the experts can help. I need to resolve a grep / sed / xargs / awk problem. My input file is just like this: ----------------------------------... (6 Replies)
Discussion started by: bash4ever
6 Replies

7. Shell Programming and Scripting

search a pattern and if pattern found insert new pattern at the begining

I am trying to do some thing like this .. In a file , if pattern found insert new pattern at the begining of the line containing the pattern. example: in a file I have this. gtrow0unit1/gctunit_crrownorth_stage5_outnet_feedthru_pin if i find feedthru_pin want to insert !! at the... (7 Replies)
Discussion started by: pitagi
7 Replies

8. Shell Programming and Scripting

bash script, pattern matching + sum

Hi guys, i have been struggling to achieve the following and therefor looking for some help. I am trying to write something that will summerize the following output from my switches for daily totals. Basicly if $1 $2 $3 doesnt change, we can keep adding up $4. Probably would use a awk print end... (3 Replies)
Discussion started by: Wratholix
3 Replies

9. Shell Programming and Scripting

Pattern matching in BASH

i have 255 files in a directory named 000po.k thru 255po.k and I want to copy all files except 3: exclude 000po.k, 166po.k,168po.k I know the long way around it copying these files, but am looking for a shorter way of doing this: my old approach: # copy 001po.k thru 009po.k to target... (3 Replies)
Discussion started by: zoo591
3 Replies

10. UNIX for Dummies Questions & Answers

bash pattern matching echo *[! '/' ] doesn't work

without using ls, just using echo so purely pattern matching I can say echo */ <-- lists directories but how would I match files? surely something like *!/ or * but neither work ? it seems like there isn't much that I can put in but surely i should be able to put any ascii... (1 Reply)
Discussion started by: james hanley
1 Replies
Login or Register to Ask a Question