From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 29102 invoked by alias); 3 Jan 2013 12:18:40 -0000 Mailing-List: contact zsh-users-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Users List List-Post: List-Help: X-Seq: 17530 Received: (qmail 18707 invoked from network); 3 Jan 2013 12:18:38 -0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-6.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_HI, SPF_HELO_PASS autolearn=ham version=3.3.2 Received-SPF: none (ns1.primenet.com.au: domain at samsung.com does not designate permitted sender hosts) X-AuditID: cbfec7f4-b7f6d6d000001620-9a-50e574c0caa9 Date: Thu, 03 Jan 2013 12:08:31 +0000 From: Peter Stephenson To: zsh-users@zsh.org Subject: Re: case insensitive string match Message-id: <20130103120831.3f78bfa3@pwslap01u.europe.root.pri> In-reply-to: References: Organization: Samsung Cambridge Solution Centre X-Mailer: Claws Mail 3.7.9 (GTK+ 2.22.0; i386-redhat-linux-gnu) MIME-version: 1.0 Content-type: text/plain; charset=US-ASCII Content-transfer-encoding: 7bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuphluLIzCtJLcpLzFFi42I5/e/4Nd0DJU8DDDad5rXYcXIlowOjx6qD H5gCGKO4bFJSczLLUov07RK4Mv5tamAs+MhWceBxN0sD41TWLkZODgkBE4m5M3+yQdhiEhfu rQeyuTiEBJYySjx78hHGYZJYOvcUM0gVi4CqxJ2NXWDdbAKGElM3zWYEsUUERCWWr9jMDmIL C2hJnN/xF6iGg4NXwF5iym5jkDCnQLDE+mnXWUBsIYEAiS1n34CV8wvoS1z9+4kJ4gh7iZlX zoCN5BUQlPgx+R5YPTPQyM3bmlghbHmJzWveMk9gFJiFpGwWkrJZSMoWMDKvYhRNLU0uKE5K zzXUK07MLS7NS9dLzs/dxAgJwS87GBcfszrEKMDBqMTDu6LmSYAQa2JZcWXuIUYJDmYlEd7Z +U8DhHhTEiurUovy44tKc1KLDzEycXBKNTDmW62XiGgx3po8YaLFiuvsrd2bEyZxG/8Nz2i/ tM9TccvF3YldZUZnogWbZzAxiJSXeK5ilRR5mnUuI3td6Hq/jVa385nWSp98y6e15FWEdQuf M4frt4n9bVya87UNZXN3MxSnpf37f79Jg3v+56WL1mYE5D0t23J3YkvUt6uqryb2V+vttlFi Kc5INNRiLipOBACGIuh8HwIAAA== On Thu, 03 Jan 2013 16:03:56 +0530 rahul wrote: > I've been using this for doing some filtering from an array: > > matched=(${(M)array:#*$patt*}) > > Now I need to have an option of case insensitive search. Looked > through the user's guide and other sources but I don't see a flag to > ignore case. Is there a way without changing this to use grep. Make sure the extendedglob option is on: setopt extendedglob and use matched=(${(M)array:#(#i)*$patt*}) > I also dont suppose approximate matching can be used here (that's > only for filename globbing, right?) That should work fine; apart from glob qualifiers, which can't be used with patterns whatever effect they have, about the only things limited to filename globbing are things that really only apply to files. pws