Visit Our UNIX and Linux User Community


Simplified find command to find multiple file types


 
Thread Tools Search this Thread
Operating Systems Linux Simplified find command to find multiple file types
# 1  
Old 05-28-2010
Simplified find command to find multiple file types

Hi,

I'm using the following command to find the multiple requierd file types and its working fine

Code:
 
find . -name "*.pl" -o -name "*.pm" -o -name "*.sql" -o -name "*.so" -o -name "*.sh" -o -name "*.java" -o -name "*.class" -o -name "*.jar" -o -name "*.gz" -o -name "*.Z" -type f

Though above command workswell and good, but the command is lengthier and difficult to edit or parameterize.
I'm looking to simplify it so that it can be easily editable in a script in future .
Please help me if anyone could simplify the problem.

Note : I cant use "*.*" as its gonna search all the files.

Thanks
Vikram shetty
# 2  
Old 05-28-2010
Maybe
Code:
find . -type f | egrep '.pl$|.pm$|.sql$|.so$|.sh$|.java$|.class$|.jar$|.gz$|.Z$'

or
Code:
find . -type f | egrep '.p[lm]$|.sql$|.s[oh]$|.java$|.class$|.jar$|.gz$|.Z$'

This User Gave Thanks to pseudocoder For This Post:
# 3  
Old 05-28-2010
If you're using GNU find, you can use the -regex option:

Code:
find ./ -regextype posix-extended -regex ".*\.(pl|pm|sql|so|sh|java|class|jar|gz|Z)"

If you don't have GNU find, you can use egrep:

Code:
find ./ -type f | egrep "\.(pl|pm|sql|so|sh|java|class|jar|gz|Z)$"

Note the slight difference between the grep and find regexes. Find assumes the regex should match the entire line. For grep we only need to tell it to match the extension, and append $ to the end to tell it that must be at the end of the line to match.
These 2 Users Gave Thanks to Corona688 For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #843
Difficulty: Medium
HTTP cannot directly support file transfer.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Script to find file types and info

I'm looking for a way to inventory files on a webserver into a CSV file, and am particularly interested in certain types of files, like .php, .cgi, .pl, .py, .sh, etc. but also want the ability to find all files, including those with no extension, or specified extensions, as above, including files... (1 Reply)
Discussion started by: spacegoose
1 Replies

2. Shell Programming and Scripting

Using a single "find" cmd to search for multiple file types and output individual files

Hi All, I am new here but I have a scripting question that I can't seem to figure out with the "find" cmd. What I am trying to do is to only have to run a single find cmd parsing the directories and output the different file types to induvidual files and I have been running into problems.... (3 Replies)
Discussion started by: swaters
3 Replies

3. Shell Programming and Scripting

bash: find multiple types[solved]

Hi, I would like to use find to search for multiple types. For example search for symlink and regular file but not directories, sockets etc.... Something like: find . -type l,f -name "stuff" But of course it does not work. Is there any way to avoid an if statement and to do it faster? ... (0 Replies)
Discussion started by: Dedalus
0 Replies

4. Shell Programming and Scripting

Find multiple string in one file using find command

Hi, I want find multiple string in one file using find coomand. And keeping it in one variable.grep is not working. (5 Replies)
Discussion started by: vivek1489
5 Replies

5. Shell Programming and Scripting

How to use grep & find command to find references to a particular file

Hi all , I'm new to unix I have a checked project , there exists a file called xxx.config . now my task is to find all the files in the checked out project which references to this xxx.config file. how do i use grep or find command . (2 Replies)
Discussion started by: Gangam
2 Replies

6. UNIX for Dummies Questions & Answers

grep command to find multiple strings in multiple lines in a file.

I want to search files (basically .cc files) in /xx folder and subfolders. Those files (*.cc files) must contain #include "header.h" AND x() function. I am writing it another way to make it clear, I wanna list of *.cc files that have 'header.h' & 'x()'. They must have two strings, header.h... (2 Replies)
Discussion started by: ritikaSharma
2 Replies

7. Shell Programming and Scripting

How to pass multiple file types search pattern as argument to find?

How can I pass $var_find variable as argment to find command? test.sh var_find=' \( -name "*.xml" -o -name "*.jsp" \) ' echo "${var_find}" find . -type f ${var_find} -print # Below statement works fine.. I want to replace this with the above.. #find . \( -name "*.xml" -o -name... (4 Replies)
Discussion started by: kchinnam
4 Replies

8. Shell Programming and Scripting

I need to find one command from multiple files and need to print that file which contains neede com

Hi all i need your help .. I am having a multiple file in directory and i have find out the Rcopy word from these files and need to print those files which contains the Rcopy word Thanks and regards Vijay sahu (2 Replies)
Discussion started by: vijays3
2 Replies

9. UNIX for Dummies Questions & Answers

how to find a file named vijay in a directory using find command

I need to find whether there is a file named vijay is there or not in folder named "opt" .I tried "ls *|grep vijay" but it showed permission problem. so i need to use find command (6 Replies)
Discussion started by: amirthraj_12
6 Replies

10. Shell Programming and Scripting

find multiple file types and tar

There are these ksh files and config files that are written and updated on a daily basis. All I want to do is write a script that finds both these types of files and archive them on a daily basis, to help in restoring in times of system outages and so on. Particulary I'm interested in .ksh ,... (9 Replies)
Discussion started by: manthasirisha
9 Replies

Featured Tech Videos