basic command pipe question

Don Russell fedora at drussell.dnsalias.com
Mon Jun 19 03:25:22 UTC 2006


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. :-)




More information about the fedora-list mailing list