Find all text files

May 24, 2018

This blog is a repost of the best answer I've found to-date for: find all text files.


It also contains some additional info on how the method works.


Read to the end for an "improved" version.



-From stackoverflow submitted by crudcore



How this Works


From the original post:

The -I option to grep tells it to immediately ignore binary files and the . option along with the -q will make it immediately match text files so it goes very fast. You can change the -print to a -print0 for piping into an xargs -0 or something if you are concerned about spaces (thanks for the tip, @lucas.werkmeister!)Also the first dot is only necessary for certain BSD versions of find such as on OS X, but it doesn't hurt anything just having it there all the time if you want to put this in an alias or something.



Additional Commentary


find evaluates each expression for each file. There are 3 expressions here: -type, -exec and -print. If type is not a file find moves on. If the exec doesn't return 0 find moves on. Only if the type is a file and exec returns non-zero will the print execute. To see this put the print first:

In this form every file will be output since print is always true.





-and isn't needed


There is an implicit -and between each expression (from man find, look at definition of -and)


. isn't needed


If you don't list a starting point find assumes '.' (from man find, first paragraph under Description)


The "improved" version is:

"improved" is in quotes because this change doesn't make the command noticeably faster and may actually be less desirable since people typically see find with . and -and and may therefore be confused.



Additional Examples

Find files (-type f) whose names contain do_ (-name "*do_*") that are not binary (-exec grep -Iq . {} \;) that contain the string initrd (-exec grep -REns "initrd" {} \;) echo a ^^^^ then print the file name (-print) then print a new line (echo " " \;) 



  • Tux from link

  • Free Online HTML Escape / Unescape Tool - @ link

Please reload

Our Recent Posts

DOE PAMS Specialties

September 5, 2020

Good Link for HOWTO Bring an Off-Screen Window Back Onto Screen for Windows 10, 8, 7, and Vista

September 5, 2020

Connect to and Control a Synaccess NPC-22 netCommander from Ubuntu 16.04.3 Running in a VirtualBox VM via a Prolific Technology Inc. USB to Serial Port Converter to Turn a Target On and Off

September 4, 2020

Please reload


Please reload


©2020 by Zach Pfeffer