find

Using find and grep to print lines before and after what you're searching for

I just used this combination of a Unix/Linux find command with a grep command to search for all Scala files under the current directory that contain the string null. This command prints five lines before and after each null line in each file:

Linux find command: find and copy files

I ran into a situation this morning where I needed to use the Linux find command to (a) find all the MP3 files beneath my current directory and (b) copy them to another directory. In this case I didn't want to do a cp -r command or tar command to preserve the directory structure; instead, I wanted all of the files to end up in the same directory (so I could easily import them into iTunes).

20+ Unix/Linux find command examples

Linux/Unix FAQ: Can you share some find command examples?

Sure. The Unix/Linux find command is very powerful. It can search the entire filesystem to find files and directories according to the search criteria you specify. Besides using the find command to locate files, you can also execute other Linux commands (grep, mv, rm, etc.) on the files and directories you find, which makes find extremely powerful. 

How to search multiple jar files for a string or pattern

Here's a shell script that I use that search Java jar files for any type of pattern. You can use it to search for the name of a class, the name of a package, or any other string/pattern that will show up if you manually ran jar tvf on each jar file. The advantage of this script -- if you're a Unix, Linux, or Cygwin user -- is that this script will search through all jar files in the current directory.

Recursive grep searching with grep -r (like grep with find)

Linux grep FAQ: How can I perform a recursive search with the Linux grep command?

For years I've always used variations of the following Linux find and grep commands to recursively search subdirectories for files that match my grep pattern:

A collection of 75+ free Linux tutorials

Free Unix and Linux tutorials: Wow, this blog post makes me feel a little old. As I've been working on reorganizing the website lately, I found that I've written more than seventy-five Unix and Linux tutorials. To try to make them easier to find, I created this page to link most of them up.

So, to that end, here is a list of at least 75 free Unix and Linux tutorials I've written. I hope you enjoy them, and I hope they're helpful.

How to find multiple filenames with Linux find

Linux find command FAQ: How can I write one find command to find multiple filenames (or filename patterns)? For example, I want to find all the files beneath the current directory that end with the file extensions ".class" and ".sh".

You can use the Linux find command to find multiple filename patterns at one time, but for most of us the syntax isn't very common. In short, the solution is to use the find command's "or" option, with a little shell escape magic. Let's take a look at several examples.

Mac backups - handling spaces in filenames with find, tar, and xargs

This morning I decided to take a few minutes to backup all the songs I've purchased over the last half-year. These are all on my Mac OS X system, under the Music folder in my home directory.

The problem with trying to do this with standard Unix tools is that all these subdirectories and filenames have spaces in their names. Just looking at the Music folder, it contains many directory names like this:

Linux find command - reverse the meaning of a file search

Summary: How to reverse the meaning of a Linux find command.

I spent last night doing a bunch of work on my source code warehouse. At the end of the night I needed to do a search for all files in many subdirectories whose filenames did not end with "*.java". It's easy enough to find filenames that do end with "*.java", using the find command like this:

Find command - Find files not matching a pattern

Unix/Linux find "patterns" FAQ: How do I find files or directories that don't match a specific pattern (files not matching a regex pattern, or filename pattern)?

In my case I just ran into a situation where I needed to find all files below the current subdirectory that are NOT named with the filename pattern "*.html" . Fortunately with the newer Unix/Linux find syntax this solution is pretty easy, you just include the "-not" argument, like this:

Syndicate content