Case insensitive comparison of strings


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Case insensitive comparison of strings
# 1  
Old 03-26-2010
Case insensitive comparison of strings

Hi All,

In one shell script I have

Quote:
case "$i" in
*Nav*)
In variable "i" I am getting a full path of a file. Now I want to compare something like

-- upper(*Nav*))

I dont want to do like below because in each CASE statement I doing so many operations.

Quote:
case "$i" in
*Nav*)
;;
*NAV*)
Please guide me.

Thanks in advance
Vishalaksha

Last edited by vishalaksha; 03-26-2010 at 01:37 AM..
# 2  
Old 03-26-2010
you can use several ways, as

Code:
*Nav*)
*nav*)
;;


or

convert the input to upper case and then use it: TECHPULP | Bash shell script to convert string from lower to upper case and vice versa
# 3  
Old 03-26-2010
Quote:
Originally Posted by vishalaksha
Hi All,

In one shell script I have



In variable "i" I am getting a full path of a file. Now I want to compare something like

-- upper(*Nav*))

I dont want to do like below because in each CASE statement I doing so many operations.


Please guide me.

Thanks in advance
Vishalaksha
Perhaps you could do this
Code:
case "$i" in
*[nN][aA][vV]*)
;;
esac

# 4  
Old 03-27-2010
You can use also "or"
Code:
case "$some" in
   *Nav*|*NAV*|*nav*) ... ;;
# or
    *[nN]av*|*NAV*) ... ;;
# or ...
esac

In ksh you can use typeset
Code:
a="$i"
# set lower (-u = upper)
typeset -l a
case "$a" in
   *nav*) ... ;;
esac

If you are using bash, then
Code:
shopt -s nocasematch
case "$i" in
   *nav*) ... ;;
esac

tr is also solution, but it's not builtin command as previous.

Last edited by kshji; 03-29-2010 at 02:03 AM.. Reason: fix
# 5  
Old 03-29-2010
Thanks Vino and Kshji for providing help.
*[nN][aA][vV]*) is working for me.....

Last edited by vishalaksha; 03-29-2010 at 02:28 AM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Making SED case insensitive

Dears, In the below string, please let me know how to make the sed search case-incensitive. I have more such lines in my script instead of let me know any other easier option. sed -n '/dn: MSISDN=/,/^\s*$/p' full.ldif > temp ; sed -n... (4 Replies)
Discussion started by: Kamesh G
4 Replies

2. UNIX for Dummies Questions & Answers

Command for a case insensitive search

Hi All, What is the command to search a file for a case-insensitive match 1.grep -nc text filename 2.grep -i text filename 3.grep -i filename text 4.grep -nc filename text 5.grep -c text filename Thanks for your help (1 Reply)
Discussion started by: bobby1015
1 Replies

3. Windows & DOS: Issues & Discussions

GAWK case insensitive comparison

Hi :o I'm working on Windows, with gawk, and let's say I have two files to compare. searching for a script to do a text comparison I came across to this line: gawk "{if(NR==FNR){A}else{B}}END{for(x in A){if(!(x in B))print x>\"1not2.txt\"}for(x in B){if(!(x in A))print x>\"2not1.txt\"}}"... (7 Replies)
Discussion started by: nakaedu
7 Replies

4. UNIX for Dummies Questions & Answers

Using FIND with case insensitive search

I am using HP-Unix B.11.31. Question: How to do the case insensitive search using FIND? Example: I would like list the files with extension of *.SQL & *.sql. When I try with command find . -type f -name *.sql, it does not lists file with *.SQL. (5 Replies)
Discussion started by: Siva SQL
5 Replies

5. Shell Programming and Scripting

Case Insensitive search

Hey , i am trying to do a search for the certain books , and im trying to make it case insensitive. what i have come up with so far is this : Database.txt RETARDED MONKEY:RACHEAL ABRAHAML:30:30:20 GOLD:FATIN:23.20:12:3 STUPID:JERLYN:20:40:3 echo -n "Title: " read Title echo -n... (3 Replies)
Discussion started by: gregarion
3 Replies

6. Shell Programming and Scripting

case-insensitive search with AWK

Hi All, How we can perform case-insensitive search with AWK.:rolleyes: regards, Sam (11 Replies)
Discussion started by: sam25
11 Replies

7. Shell Programming and Scripting

case-insensitive if on substring

I'd like to print a line if a substring is matched in a case insensitive manner something like do a case insensitive search for ABCD as a substring: awk '{ if (substr($1,1,4) == "") print $1 }' infile > outfile I'm not certain how to make the syntax work??? Thanks (4 Replies)
Discussion started by: dcfargo
4 Replies

8. Shell Programming and Scripting

case insensitive

hi everyone, I need to do the following thing in a case insesitive mode sed 's/work/job/g' filename since work could appear in different form as Work WORK WorK wORK,.... I was wondering if i could do a case insensitive search of a word. thanks in advance, :) (4 Replies)
Discussion started by: ROOZ
4 Replies

9. Shell Programming and Scripting

awk case-insensitive

can I tell awk to be case insensitive for one operation without setting the ignorecase value ? thanks, Steffen (7 Replies)
Discussion started by: forever_49ers
7 Replies

10. UNIX for Dummies Questions & Answers

case insensitive locate

How can I do a case insensitive locate? (3 Replies)
Discussion started by: davis.ml
3 Replies
Login or Register to Ask a Question