Todd Zullinger wrote:
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Don Russell wrote:
I need some basic CLI help. :-) I've googled, and read, and I can't
find how to erase a bunch of files in one go.
Specifically, I need a command that will erase *.zip files,
regardless of the text case of the .zip part....
So far, I have
ls | grep -iE \\.zip$
That gives me the correct list of files.... but I don't know how to
get rm to process that list.. It doesn't look like rm has an option
to read the file name from stdin, it's expecting the file name as a
CLI argument.
This is one of those things that you could do a whole lot of ways and
I'm sure more than a few people will provide options. I'm looking
forward to learning a few new things out of this too (it always
happens, no matter how well I think I know the possibilities :).
Here are a few ways:
ls | grep -iE \\.zip$ | xargs rm -f
You could use find instead of ls and grep too. This example is
almost straight from the xargs man page:
find -iname '*.zip' | xargs rm -f
Or, using some bash command substitution:
rm -f $(ls | grep -iE \\.zip$)
Ah HA! I tried ALMOST that.... I left out the $ before the (
Anyway... thanks for that.... I can see that's a concept I need to remember.
Thanks to all who replied.... I'll go with rm -f *.[zZ][iI][pP]
Of course, it's best to run these without the -f option or only on a
copy of your files until you're sure that it works as you expect it to
work.
Yes, I've been doing that and then replying "n" to the prompts.... :-)
I know this is basic stuff.... I'm obviously missing some fundamental
concept of command line processing. :-)
You're just missing a few new commands in your mental storage. With
many thousands of them, it takes a long time to learn and remember the
myriad ways things can be used. :)
Yes... it's a little frustrating at times. :-) I know the *concepts* of
what I need to do, but without knowing the commands at my disposal, and
with the cryptic names of many of them, it's difficult to google.
Thanks :-)
I learned a few things in the various replies. :-)