Zsh Mailing List Archive
Messages sorted by: Reverse Date, Date, Thread, Author

Re: newbie rm --^file question



Got it.  Putting a space between “--“ and “-“  did it.   I really appreciate your explanation of the different usage of  the “--” argument for rm. I though it was specific to zsh like “^”. 

Thanks. 

AH

 
> On Dec 25, 2016, at 5:47 PM, Gabor Maghera <gmaghera@xxxxxxxxx> wrote:
> 
> That "--" causes rm to stop looking for flags.  It is handy if the file
> pattern argument supplied to rm includes '-' characters.  See the man page
> for the rm command, it's explained towards the end.
> 
> You don't really need it for what you are doing, but if you would like to
> use it, it is a separate argument from the file or globbing pattern:
> 
> Try:
> 
> rm -rf -- ^com.apple.IntlDataCache.*
> 
> And here is an example where you do need to use the "--" argument:
> 
> ❯ ls
> -o      bar.ext foo     foo.ext
> 
> ~/example/abc
> ❯ rm -o
> rm: illegal option -- o
> usage: rm [-f | -i] [-dPRrvW] file ...
>       unlink file
> 
> ~/example/abc
> ❯ rm -- -o
> 
> ~/example/abc
> ❯ ls
> bar.ext foo     foo.ext
> 
> ~/example/abc
> 
> On Sun, Dec 25, 2016 at 1:49 PM Akihiko Hohji <akhst7@xxxxxx> wrote:
> 
>> Sorry.  Actually extended glob was due to auto-correction by Apple Mail.
>> I really typed in setopt extendedglob.
>> 
>> Either rm -rf with double “-“ ^file.ext.* or a single “-“ does not work.
>> I get the same “no matches found” message.  And there is no space in
>> between “-“.  I’ve gotten this approach with the double “-“ from a post in
>> Stackoverflow.  If I don’t add “*” at the end or begging of file name, it
>> works fine.
>> 
>> To just give you more details, the following is the list of files in
>> /System/Library/Caches;
>> 
>> drwxr-xr-x  16 root  wheel   544B Dec 16 21:53 .
>> drwxr-xr-x  92 root  wheel   3.1K Dec 16 09:31 ..
>> drwxr-xr-x   6 root  wheel   204B Dec 15 21:47 com.apple.CVMS
>> -rw-r--r--   1 root  wheel    42K Oct  4 21:52
>> com.apple.Components2.SystemCache.Components
>> -rw-r--r--   1 root  wheel    57K Sep 13 20:49
>> com.apple.Components2.SystemCache.QuickTimeComponents
>> -rw-r--r--   1 root  wheel   8.6K Dec 16 09:31 com.apple.IntlDataCache.le
>> -rw-r--r--   1 root  wheel    78K Dec 16 09:31
>> com.apple.IntlDataCache.le.kbdx
>> -rw-r--r--   1 root  wheel    21K Dec 16 09:35
>> com.apple.app-sandbox-cache.plist
>> -rw-r--r--   1 root  wheel    41B Dec 16 09:32 com.apple.bootefisignature
>> drwxr-xr-x   3 root  wheel   102B Dec 15 21:36 com.apple.bootstamps
>> drwxr-xr-x   2 root  wheel    68B Dec 15 21:36 com.apple.corestorage
>> drwx------   3 root  wheel   102B Dec 17 22:30 com.apple.coresymbolicationd
>> drwxr-xr-x   4 root  wheel   136B Dec 15 21:36 com.apple.kext.caches
>> -rw-r--r--@  1 root  wheel    23K Dec 16 21:53
>> com.apple.preferencepanes.systemcache
>> -rw-r--r--   1 root  wheel    11K Dec 16 09:35
>> com.apple.xpc.extensions.cache
>> -rw-r--r--   1 root  wheel   203K Dec 16 09:35 com.apple.xpchelper.cache
>> 
>> I’d like to get rid of directories and files except
>> com.apple.IntlDataCche.le and com.apple.IntlDataCche.le.kbdx.
>> 
>> And I did;
>> 
>> setopt extendedglob
>> rm -rf -^com.apple.IntlDataCache.*
>> 
>> Then I get zsh: no matches found: -^com.apple.IntlDataCache.le.*
>> 
>> Again my system is
>> 
>> sw_vers
>> ProductName:    Mac OS X
>> ProductVersion: 10.12.2
>> BuildVersion:   16C67
>> 
>> Thanks.
>> 
>> AH
>> 
>>> On Dec 25, 2016, at 4:10 PM, Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
>> wrote:
>>> 
>>> On Dec 25,  7:22pm, Hoji, Akihiko wrote:
>>> }
>>> } setopt extended glob
>>> 
>>> If you literally did that, you should have gotten an error message; there
>>> is no option named "extended" although there is one named "glob".
>>> 
>>> You can use underscores or hyphens between words (actually, between any
>>> two letters) in option names, but not spaces.
>>> 
>>> setopt extendedglob
>>> setopt extended_glob
>>> setopt extended-glob
>>> setopt EX_tend-ed_GLOB
>>> 
>>> } rm -rf -^file.ext.*
>>> 
>>> Is there a space missing there between the second "-" and the "^" ?  Or
>>> do the files you want to remove really have names beginning with "-" ?
>>> 
>>> } I would appreciate a poster as to what I am doing wrong.
>>> 
>>> Other than misplaced spacing, you seem to have it; see Gabor's example.
>> 
>> 



Messages sorted by: Reverse Date, Date, Thread, Author