basic command pipe question
Todd Zullinger
tmz at pobox.com
Sun Jun 18 22:17:37 UTC 2006
-----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$)
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.
> 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. :)
- --
Todd OpenPGP -> KeyID: 0xD654075A | URL: www.pobox.com/~tmz/pgp
======================================================================
(When asked whether he liked children) "Ah yes...boiled or fried."
-- W.C. Fields
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)
Comment: When crypto is outlawed bayl bhgynjf jvyy unir cevinpl.
iG0EARECAC0FAkSV0QEmGGh0dHA6Ly93d3cucG9ib3guY29tL350bXovcGdwL3Rt
ei5hc2MACgkQuv+09NZUB1pSGACglKHfwEcCzOOU9bIzZLtPkaF/3McAoMzuvhAF
x0kQRdAQK9RUqtBqS6Gn
=qzxa
-----END PGP SIGNATURE-----
More information about the fedora-list
mailing list