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