From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1331 invoked from network); 18 Oct 2005 22:53:06 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by ns1.primenet.com.au with SMTP; 18 Oct 2005 22:53:06 -0000 Received: (qmail 59004 invoked from network); 18 Oct 2005 22:53:00 -0000 Received: from sunsite.dk (130.225.247.90) by a.mx.sunsite.dk with SMTP; 18 Oct 2005 22:53:00 -0000 Received: (qmail 25697 invoked by alias); 18 Oct 2005 22:52:48 -0000 Mailing-List: contact zsh-users-help@sunsite.dk; run by ezmlm Precedence: bulk X-No-Archive: yes X-Seq: 9514 Received: (qmail 25687 invoked from network); 18 Oct 2005 22:52:47 -0000 Received: from news.dotsrc.org (HELO a.mx.sunsite.dk) (130.225.247.88) by sunsite.dk with SMTP; 18 Oct 2005 22:52:47 -0000 Received: (qmail 57437 invoked from network); 18 Oct 2005 22:52:47 -0000 Received: from ns9.hostinglmi.net (213.194.149.146) by a.mx.sunsite.dk with SMTP; 18 Oct 2005 22:52:46 -0000 Received: from 212.red-80-35-44.staticip.rima-tde.net ([80.35.44.212] helo=localhost) by ns9.hostinglmi.net with esmtpa (Exim 4.52) id 1ES0K4-0000kZ-FA for zsh-users@sunsite.dk; Wed, 19 Oct 2005 00:52:44 +0200 Date: Wed, 19 Oct 2005 00:53:36 +0200 From: DervishD To: Zsh Users Subject: Any easier way of parsing this file? Message-ID: <20051018225336.GA957@DervishD> Mail-Followup-To: Zsh Users Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit User-Agent: Mutt/1.4.2.1i Organization: DervishD X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - ns9.hostinglmi.net X-AntiAbuse: Original Domain - sunsite.dk X-AntiAbuse: Originator/Caller UID/GID - [0 0] / [47 12] X-AntiAbuse: Sender Address Domain - dervishd.net X-Source: X-Source-Args: X-Source-Dir: X-Spam-Checker-Version: SpamAssassin 3.0.4 (2005-06-05) on f.primenet.com.au X-Spam-Level: X-Spam-Status: No, score=-2.6 required=5.0 tests=AWL,BAYES_00 autolearn=ham version=3.0.4 Hi all :) I have a file like this: # comment # more comments ... # no more coments below this line NOTINTERESTINGLABEL=whatever SOMELABEL=content1 / content 2 ANOTHERLABEL1=content of label 1 ANOTHERLABEL2=content of label 2 ... ANOTHERLABELn=content of label n MORENOTINTERESTINGLABELS=blablabla ... ALOTOFNOTINTERESTINGLABELSWHICHENDSHERE=blablabla The file contents are contained in a parameter (long story...), and they MUST be contained in a parameter. Well, I'm parsing it using this code: # "data" contains the file data as shown above typeset -a otherdata print -n $data | while read line do case $line in \#*) continue;; (#b)SOMELABEL=([^/]##)" / "([^$'\n']##)) mydata1="$match[1]" mydata2="$match[2]" ;; (#b)ANOTHERLABEL[^=]#=(*)) otherdata+="$match" ;; *) continue ;; esac done Is there any better way of parsing this file using Zsh and assuming that I may be interested in gathering the information for other labels in the future? Yes, I know I can do this easily using sed, but I want to do it using just Zsh code in order to avoid dependencies. And yes, the file looks like a xmcd file from CDDB ;) I've tried to get the first data (the SOMELABEL data, that gives us two items) using parameter substitution and using a conditional expression, and both ways work, but the ANOTHERLABEL data is a different issue and I find easier the above construct. Thanks a lot in advance :) Raúl Núñez de Arenas Coronado -- Linux Registered User 88736 | http://www.dervishd.net http://www.pleyades.net & http://www.gotesdelluna.net It's my PC and I'll cry if I want to...