From: Akihiko Hohji <akhst7@me.com>
To: Gabor Maghera <gmaghera@gmail.com>
Cc: Bart Schaefer <schaefer@brasslantern.com>,
"zsh-users@zsh.org" <zsh-users@zsh.org>
Subject: Re: newbie rm --^file question
Date: Sun, 25 Dec 2016 18:02:16 -0500 [thread overview]
Message-ID: <4D563652-4349-4AEA-B92E-D5F0F1018C59@me.com> (raw)
In-Reply-To: <CAOzw3LY7WupodkXYd0r91hBmNj_km_J8DHMGsaqYA0cayvLVCA@mail.gmail.com>
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@gmail.com> 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@me.com> 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@brasslantern.com>
>> 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.
>>
>>
next prev parent reply other threads:[~2016-12-26 0:02 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-25 19:22 Hoji, Akihiko
2016-12-25 20:45 ` Gabor Maghera
2016-12-25 20:49 ` Hoji, Akihiko
2016-12-25 20:51 ` Gabor Maghera
2016-12-25 21:10 ` Bart Schaefer
2016-12-25 21:49 ` Akihiko Hohji
2016-12-25 22:47 ` Gabor Maghera
2016-12-25 23:02 ` Akihiko Hohji [this message]
2016-12-27 20:23 ` Roman Neuhauser
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4D563652-4349-4AEA-B92E-D5F0F1018C59@me.com \
--to=akhst7@me.com \
--cc=gmaghera@gmail.com \
--cc=schaefer@brasslantern.com \
--cc=zsh-users@zsh.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.vuxu.org/mirror/zsh/
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).