Zsh Mailing List Archive
Messages sorted by:
Reverse Date,
Date,
Thread,
Author
Any easier way of parsing this file?
- X-seq: zsh-users 9514
- From: DervishD <zsh@xxxxxxxxxxxx>
- To: Zsh Users <zsh-users@xxxxxxxxxx>
- Subject: Any easier way of parsing this file?
- Date: Wed, 19 Oct 2005 00:53:36 +0200
- Mail-followup-to: Zsh Users <zsh-users@xxxxxxxxxx>
- Mailing-list: contact zsh-users-help@xxxxxxxxxx; run by ezmlm
- Organization: DervishD
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...
Messages sorted by:
Reverse Date,
Date,
Thread,
Author