this post was submitted on 30 Jun 2026
51 points (100.0% liked)

Linux

14231 readers
713 users here now

A community for everything relating to the GNU/Linux operating system (except the memes!)

Also, check out:

Original icon base courtesy of lewing@isc.tamu.edu and The GIMP

founded 3 years ago
MODERATORS
 

I came across this older article from 2020 and I found it informative. It's about how the shell does globbing and the potential issues it can cause if not understood correctly.

TLDR:

find . -not -name *.py -delete and find . -not -name '*.py' -delete will behave differently in certain scenarios.

In the first example, the shell will replace the wildcard pattern with a list of matching file names IF there are any matches in the current directory. If there isn't, then it won't do anything and will pass *.py to find.

In the second example, the shell won't do any globbing at all and will just pass *.py

you are viewing a single comment's thread
view the rest of the comments
[–] unglueclass23@programming.dev 2 points 1 week ago

I use bash and it did throw that error, however the find . | egrep *.py example at the end did not.