Difference between revisions 507807 and 507808 on knwiki

{{otheruses}}
{{lowercase|title=find}} 

The <code>'''find'''</code> program is a [[directory (file systems)|directory]] [[search utility]], mostly found on [[Unix-like]] platforms. It searches through one or more directory [[tree (computing)|trees]] of a [[filesystem]], locating [[Computer file|file]]s based on some user-specified criteria. By default, <code>find</code> returns all files below the current [[working directory]]. Further, <code>find(contracted; show full)
The <tt>[[/dev/null]]</tt> argument is used to show the name of the file before the text that is found. Without it, only the text found is printed.  An equivalent mechanism is to use the "-H" or "--with-filename" option to grep:

 find /tmp -exec grep -H "search string" '{}' \; -print

GNU grep can be used on its own to perform this task:

 grep -
Rr "search string" /tmp

Example of search for "LOG" in jsmith's home directory
 find ~jsmith -exec grep "LOG" '{}' /dev/null \; -print
 /home/jsmith/scripts/errpt.sh:cp $LOG $FIXEDLOGNAME
 /home/jsmith/scripts/errpt.sh:cat $LOG
 /home/jsmith/scripts/title:USER=$LOGNAME

Example of search for the string "ERROR" in all xml files in the current directory and all sub-directories
 find . -name "*.xml" -exec grep "ERROR" '{}' \; -print

The double quotes (" ") surrounding the search string and single quotes (<nowiki>' '</nowiki>) surrounding the braces are optional in this example, but needed to allow spaces and other special characters in the string.

===Search for all files owned by a user===

 find . -user <userid>

==See also==

* [[searchmonkey]], an alternative search tool using the [[Gtk]] front-end
* locate[http://en.wikipedia.org/wiki/GNU_locate], a Unix search tool based on a prebuilt database therefore faster than find

==External links==
* [http://www.gnu.org/software/findutils/ GNU Findutils] - Comes with the [[xargs]] and [[GNU locate|locate]] commands.
* [http://www.gnu.org/software/findutils/manual/html_mono/find.html Official webpage for GNU find]
* [http://www.linuxmanpages.com/man1/find.1.php Linux find(1)] [[manpage]]
* [http://unixhelp.ed.ac.uk/CGI/man-cgi?find Unix man page]

{{unix commands}}

[[Category:Unix software]]
[[Category:Searching]]

[[de:Find]]
[[es:Find]]
[[hu:Find]]
[[ja:Find]]
[[pl:Find]]
[[pt:Find]]
[[ru:Find]]