If condition matching with special chars


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting If condition matching with special chars
# 1  
Old 04-10-2013
Linux If condition matching with special chars

Hi,

I have file
Code:
#cat drivers.txt
fcs0
fcs1
vscsi1
vscsi2

In this i need to check the availabality of "fcs" or "vscsi" alone not vscsi0,fcs1

I tried with "if condition" but it is not working.

Code:
cat drivers.txt| while read ADAP
do
echo "Checking for $ADAP"
if [ $ADAP = fcs* ];then
 echo "FC adapter is availabe"
 fi
done

Anyone, pls advice
# 2  
Old 04-10-2013
Why not?
Code:
if [ $ADAP = "fcs" ];then

# 3  
Old 04-10-2013
Hi Joeyg,

No, its not working.
# 4  
Old 04-10-2013
First of all tell us what is your OS and SHELL:
Code:
uname
echo $SHELL

Also show us what output you expect from your input file?
# 5  
Old 04-10-2013
Take a look at...

Code:
$ cat sample10.txt
fcs0
fcs1
vscsi1
vscsi2

$ cat sample10.txt | while read ADAP; do if [ "$ADAP" = "fcs0" ]; then  echo "yes, FCS is available"; fi; done
yes, FCS is available


$ cat sample10.txt | while read ADAP; do if [ "$ADAP" = "fcs" ]; then  echo "yes, FCS is available"; fi; done

# 6  
Old 04-10-2013
Linux If condition matching with special chars

Hi Yoda,

The OS is Linux and Shell is Bash.

Understand, "joeyg" is providing correct detail

Regards,
Siva
# 7  
Old 04-10-2013
In bash version >= 3, you can use built-in regular expression comparison operator =~
Code:
#!/bin/bash

while read ADAP
do
        if [[ "$ADAP" =~ fcs.* ]]
        then
                printf "FC adapter: $ADAP is available\n"
        fi
done < drivers.txt

Code:
$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)

This User Gave Thanks to Yoda For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Shell script to split data with a delimiter having chars and special chars

Hi Team, I have a file a1.txt with data as follows. dfjakjf...asdfkasj</EnableQuotedIDs><SQL><SelectStatement modified='1' type='string'><! The delimiter string: <SelectStatement modified='1' type='string'><! dlm="<SelectStatement modified='1' type='string'><! The above command is... (7 Replies)
Discussion started by: kmanivan82
7 Replies

2. Shell Programming and Scripting

Safely Remove Files with Special Chars

Hey Guys, I'm swamped writing code for the forums: Could someone write a script or command line to safely delete files with special chars in filenames from a directory: Example: -rw-r--r-- 1 root root 148 Apr 30 23:00 ?xA?? -rw-r--r-- 1 root root 148... (8 Replies)
Discussion started by: Neo
8 Replies

3. UNIX for Dummies Questions & Answers

How to search for a string with special chars?

Hi guys, I am trying to find the following string in a file, but I always get pattern not found error, not sure what is missing here. Can you help please? I do a less to open the xrates.log and then do a /'="18"' in the file and tried various combinations to search the below string. String... (8 Replies)
Discussion started by: santokal
8 Replies

4. Shell Programming and Scripting

All strings within two special chars

I have a file with multiple lines. From each line I want to get all strings that starts with '+' and ends with '/'. Then I want the strings to be separated by ' + ' Example input: +$A$/NOUN+At/NSUFF_FEM_PL+K/CASE_INDEF_ACC Sample output: $A$ + At + K (20 Replies)
Discussion started by: Viernes
20 Replies

5. Shell Programming and Scripting

print all between patterns with special chars

Hi, I'm having trouble with awk print all characters between 2 patterns. I tried more then one solution found on this forum but with no success. Probably my mistakes are due to the special characters "" and "]"in the search patterns. Well, have a log file like this: logfile.txt ... (3 Replies)
Discussion started by: ginolatino
3 Replies

6. UNIX for Dummies Questions & Answers

Strings with Special chars in IF condition

I was trying to run a code to check if a fax number is empty or not. for that, I've written the following code which is throwing an error. #!/bin/ksh fax= "999-999-9999" if ; then fax_no="000-000-0000" else fax_no=$fax fi echo $fax_no And I get the... (7 Replies)
Discussion started by: hooaamai
7 Replies

7. Shell Programming and Scripting

Special chars in sed variable

Hi, For years ive been using this script to do mass search & replaces on our websites. Its worked with all sorts of spaces, quotes, html or whatever with a little adjusting here and there. But I just cant get this pattern to work: #!/bin/bash OLDURL="document.write('<script... (2 Replies)
Discussion started by: mutex
2 Replies

8. Shell Programming and Scripting

special chars arrangement in code

here is my simple script to show process and owners except me: ps `-ef |grep xterm |grep -v aucar` | while read a1 a2 a3 a4 a5 a6 a7 a8 do echo KILL..\($a1\).. $a2 |more done how can I pass values from command "ps -ef |grep xterm|grep -v aucar" to ? because above command... (2 Replies)
Discussion started by: xramm
2 Replies

9. Shell Programming and Scripting

treating special chars

Hi, I need some advise on treating non printable chars over ascii value 126 Case 1 : On some fields in the text , I need to retiain then 'as-is' and load to a database.I understand it also depends on database codepage. but i just wanna know how do i ensure it do not change while loading... (1 Reply)
Discussion started by: braindrain
1 Replies

10. UNIX for Advanced & Expert Users

Supress special chars in vi

Hi, One of our application is producing log files. But if we open the log file in vi or less or view mode, it shows all the special characters in it. The 'cat' shows correctly but it shows only last page. If I do 'cat' <file_name> | more, then again it shows special characters. ... (1 Reply)
Discussion started by: divakarp
1 Replies
Login or Register to Ask a Question