Finding file with the same name but different case


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Finding file with the same name but different case
# 1  
Old 11-19-2009
Finding file with the same name but different case

Hi experts,

I have list of directories and files, which can have the files with the same name but different cases like,

Code:
$ ls
ovwbemaction_lib.vcproj  OvWBEMAction_lib.vcproj

In the above example, both has the same name but different case which is supported in Linux.

Now I want to find out all such kind of files? i.e files with same name but different cases.

Any kind of help is appreciated.
# 2  
Old 11-19-2009
Hi,

in some Unix / Linux, for example, Red Hat, 'find' command has a "-iname" option to ignore case.
# 3  
Old 11-19-2009
You can try something like this:

Code:
ls | awk '!a[toupper($0)] {a[toupper($0)]=$0;next}{print a[toupper($0)] RS $0}'

Use nawk or /usr/xpg4/bin/awk on Solaris.
# 4  
Old 11-19-2009
@ Fraklin,

Thanks for your reply.
Code:
I have directories like, 

$ ls -1 -R I18N_tutorial/
I18N_tutorial/:
Converting MS VC++ project to use Msgs.html
Converting to Use Msgs - C-C++ Example.htm
Converting to Use Msgs - C-C++ Example.url
nls
pre-nls
readme.txt
src

I18N_tutorial/nls:
C
de_DE.roman8

I18N_tutorial/nls/C:
Imakefile

I18N_tutorial/nls/de_DE.roman8:
hello.1
Imakefile

I18N_tutorial/pre-nls:
hello.1
hello.sets

I18N_tutorial/src:
hello.c
hello.C
hello.dsp
helloMsg.c
Imakefile
name.c
name.C

Out of this, my expectation is to find out only name.c and hello.c because it has the same name but different case. 

so I executed the below command,
$ ls -1 -R  I18N_tutorial/ | awk '!a[toupper($0)] {a[toupper($0)]=$0;next}{print a[toupper($0)] RS $0}'
Imakefile
Imakefile
hello.1
hello.1
hello.c
hello.C
Imakefile
Imakefile
name.c
name.C

Its giving the above output. 

but If I issue the command, with in the src directory it is working fine. 

$ cd I18N_tutorial/src/
$ ls
hello.c  hello.C  hello.dsp  helloMsg.c  Imakefile  name.c  name.C
$ ls  -1 . | awk '!a[toupper($0)] {a[toupper($0)]=$0;next}{print a[toupper($0)] RS $0}'
hello.c
hello.C
name.c
name.C

Its giving the output what i want exactly.

So, can you help me out in doing this recursively? Because I have a lot of directories and sub directories which has files with the same name in different cases.
# 5  
Old 11-20-2009
Here's recursive solution:
Code:
find . | tr A-Z a-z | sort | uniq -d | while read f; do find "`dirname "$f"`" -maxdepth 1 -iname "`basename "$f"`"; done


Last edited by paweln; 11-20-2009 at 05:26 AM..
 
Login or Register to Ask a Question

Previous Thread | Next Thread

9 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Change first letter of a word from lower case to upper case

Hi all, I am trying to find a way to change first letter in a word from lower case to upper case. It should be done for each first word in text or in paragraph, and also for each word after punctuation like . ; : ! ?I found the following command sed -i 's/\s*./\U&\E/g' $@ filenamebut... (7 Replies)
Discussion started by: georgi58
7 Replies

2. Shell Programming and Scripting

Conversion from Upper Case to Lower Case Condition based

Hello Unix Gurus : It would be really appreciative if can find a solution for this . I have records in a file . I need to Capitalize the records based on condition . For Example i tried the following Command COMMAND --> fgrep "2000YUYU" /export/home/oracle/TST/data.dat | tr '' ''... (12 Replies)
Discussion started by: tsbiju
12 Replies

3. Shell Programming and Scripting

[Solved] Change Upper case to Lower case in C shell

Is there a command that can switch a character variable from UPPER case to lower case? like foreach AC ( ABC BCD PLL QIO) set ac `COMMAND($AC)` ... end Thanks a lot! (3 Replies)
Discussion started by: rockytodd
3 Replies

4. Shell Programming and Scripting

sed ignoring case for search but respecting case for subtitute

Hi I want to make string substitution ignoring case for search but respecting case for subtitute. Ex changing all occurences of "original" in a file to "substitute": original becomes substitute Origninal becomes Substitute ORIGINAL becomes SUBSTITUTE I know this a little special but it's not... (1 Reply)
Discussion started by: kmchen
1 Replies

5. Shell Programming and Scripting

data array needs to change upper case to lower case

Hi all, i have a data array as followes. ARRAY=DFSG345GGG ARRAY=234FDFG090 ARRAY=VDFVGBGHH so on.......... i need all english letters to be change to lower case. So i am expecting to see ARRAY=dfsg345ggg ARRAY=234fdfg090 ARRAY=vdfvgbghh so on........ If i have to copy this data in... (8 Replies)
Discussion started by: usustarr
8 Replies

6. Shell Programming and Scripting

convert upper case to lower case in ascript

I have a package to install and the installation script which does it . The files/directories names in the script are all lower case but the actual package has everything in upper case - file names, directories . I don't want to rename directories and files in the package - it has a lot of them . ... (2 Replies)
Discussion started by: vz6zz8
2 Replies

7. Shell Programming and Scripting

how to convert value in a variable from upper case to lower case

Hi, I have a variable $Ctrcd which contains country names in upper case and i want to convert them into lower case. I have tried so many solutions from already existing threads but couldn't get the correct one. Can anybody help me with this..... Thanks a lot.. (2 Replies)
Discussion started by: manmeet
2 Replies

8. Shell Programming and Scripting

Script needed to select and delete lower case and mixed case records

HELLO ALL, URGENTLY NEEDED A SCRIPT TO SELECT AND DELETE LOWER AND MIXED CASE RECORDS FROM A COLUMN IN A TABLE. FOR EXAMPLE : Table name is EMPLOYEE and the column name is CITY and the CITY column records will be: Newyork washington ... (1 Reply)
Discussion started by: abhilash mn
1 Replies

9. UNIX for Dummies Questions & Answers

lower case to upper case string conversion in shell script

How can convert a Lower case variable value to an upper case in the kron shell script. (3 Replies)
Discussion started by: dchalavadi
3 Replies
Login or Register to Ask a Question