Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Re: newbie rm --^file question
- X-seq: zsh-users 22279
- From: Gabor Maghera <gmaghera@xxxxxxxxx>
- To: Akihiko Hohji <akhst7@xxxxxx>, Bart Schaefer <schaefer@xxxxxxxxxxxxxxxx>
- Subject: Re: newbie rm --^file question
- Date: Sun, 25 Dec 2016 22:47:23 +0000
- Cc: "zsh-users@xxxxxxx" <zsh-users@xxxxxxx>
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=VJQW6Grs2xRntUElmqgiWZPuOPO6MiRiXNDYv2yjcBI=; b=BHr5vi4otcL+/GYLXjE6vC7XBUViMLmpaz1Ik4mFw7WrHbDt2XT8EXlBDEwMo+2XyZ KpxqZhCDURA/HB0FAIrHH+d8ZDZtvCUKSSnYMl6mjkXnUCUB8LXUzPANCcsQEutoQqnZ FugIqBIUXa2l8wer3N0j7gU81GQ7JtBVtC1yvFJ5MKDMY6C3XzCFGbYZ7Hhj8sR8Xevu U9Ppu38f0vHvk1y4hhj1iks/865CBiRoN7od1DcC/S1EH5WE+zUnXMxzRjZgJ5IP7/5T pcy5cdqkaTn5jc7EVSuMg/HJv4U1KN4o8HfjiORpsKaoI3xlqnTDGWlDFWH2ENbFzUT2 KSsg==
- In-reply-to: <8789C49A-57C0-49FA-BC1A-52DCBFBF88FB@me.com>
- List-help: <mailto:zsh-users-help@zsh.org>
- List-id: Zsh Users List <zsh-users.zsh.org>
- List-post: <mailto:zsh-users@zsh.org>
- Mailing-list: contact zsh-users-help@xxxxxxx; run by ezmlm
- References: <D6F66860-3528-4A5F-B5E0-7A25C1E6458E@pitt.edu> <161225131004.ZM26673@torch.brasslantern.com> <8789C49A-57C0-49FA-BC1A-52DCBFBF88FB@me.com>
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