Robert Robert - 1 year ago 67
Bash Question

How do I find all files that do not begin with a given prefix in bash?

I have a bunch of files in a folder:

foo_1
foo_2
foo_3
bar_1
bar_2
buzz_1
...


I want to find all the files that do not start with a given prefix and save the list to a text file. Here is an example for the files that do have a given prefix:

find bar_* > Positives.txt

Answer Source

This should do the trick in any shell

ls | grep -v '^prefix'

The -v option inverts grep's search logic, making it filter out all matches. Using grep instead of find you can use powerful regular expressions instead of the limited glob patterns.

Recommended from our users: Dynamic Network Monitoring from WhatsUp Gold from IPSwitch. Free Download