Skip to main content

UNIX Find A File Command

Find all perl (*.pl) files in current directory:
$ find . -name '*.pl'
The . represent the current directory and the -name option specifies all pl (perl) files. The quotes avoid the shell expansion and it is necessary when you want to use wild card based search (without quotes the shell would replace *.pl with the list of files in the current directory).

To list only files and avoid all directories

$ find . -type f -name '*.pl'
Above command will only list files and will exclude directories, special files, pipes, symbolic links etc.

Search all directories

Search file called httpd.conf in all directories:
$ find / -type f -name httpd.conf
Generally this is a bad idea to look for files. This can take a considerable amount of time. It is recommended that you specify the directory name. For example look httpd.conf in /usr/local directory:
$ find /usr/local -type f -name httpd.conf

Execute command on all files

Run ls -l command on all *.c files to get extended information :
$ find . -name "*.c" -type f -exec ls -l {} \;
You can run almost all UNIX command on file. For example, modify all permissions of all files to 0700 only in ~/code directory:
$ find ~/code -exec chmod 0700 {} \;
Search for all files owned by a user called payal:
$ find . -user
$ find . -user payal

Search for files containing specific Text

grep -rnw '/path/to/directory/' -e 'Text to search'
  • -r or -R is recursive,
  • -n is line number, and
  • -w stands for match the whole word.
  • -l (lower-case L) can be added to just give the file name of matching files.


Read find command man page for detailed information:
$ man find 

Comments

Popular posts from this blog

Top Google Adsense Alternatives

Google Adsense is a web tool that allows publishers in the Google Network of content sites to automatically serve text, image, video, and rich media adverts that are targeted to site content and audience. These adverts are administered, sorted, and maintained by Google, and they can generate revenue on either a per-click or per-impression basis.  Google servers advertisers using google adwords platform, while adsense is the publishers platform. Google Adsense is the top Ad Publishers platform over the web ranking number one in web advertising industry. Adsense offers contextual advertisements that covers web sites, blogs, games, videos, mobile browsing etc. What made Google Adsense no. 1 is the reliability, stability, variety of services and large number of publishers including google it self. Also google has a fair platform that detects invalid clicks so google successfully protects its advertisers and also offers its best publishers top CPC. Two reasons are behind people think

Error: Write to Disk Access Denied - Troubleshooting - BitTorrent

I have downloaded Bit Torrent software and when trying to download I got an error after few seconds saying: Error: Write to Disk Access Denied Solving this problem is so simple: Shut down BitTorrent program. Go to Start and in the small search box on top of windows start button start typing Bittorrent and the program will show, right click with the mouse on the icon and Run as Administrator. All ur problems are sorted out now and you can enjoy downloading... Good Luck.

How to Build RSS 2.0 Feed in Coldfusion 8

In this tutorial I will show some tips on how to create an RSS Feed in coldfusion by querying a Database. This example will demonstrate how to create an RSS Feed for the quote of the day. < cfquery name="qname" datasource="dbsource" maxrows="3"> SELECT PUBDATE,DESCR,FTITLE,LINK FROM wiki.url.rssfeed order by id desc </cfquery> <!--- Note here the query returns only the last three quotes and also it is sorted based on the id which is an auto increment ID.---> <cfscript> myStruct = StructNew(); mystruct.link = "http://blog.abusalah.info"; myStruct.title = "Mustafa Abusalah Quote of the Day"; mystruct.description = "Quote of the Day Tutorial"; mystruct.pubDate = Now(); mystruct.version = "rss_2.0"; <!--- Now the Query columns must be mapped to the RSS columns this is done by creating a struct and mapping them to the struct variables. Please not that the fields must be written in capital letter