From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15257 invoked by alias); 18 May 2012 13:16:58 -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: 17094 Received: (qmail 4326 invoked from network); 18 May 2012 13:16:56 -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=-2.5 required=5.0 tests=BAYES_00,DKIM_SIGNED, FREEMAIL_FROM,RCVD_IN_DNSWL_LOW,T_DKIM_INVALID,T_TO_NO_BRKTS_FREEMAIL autolearn=ham version=3.3.2 Received-SPF: pass (ns1.primenet.com.au: SPF record at spf.messagingengine.com designates 66.111.4.25 as permitted sender) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d=mm.st; h= message-id:from:to:mime-version:content-transfer-encoding :content-type:subject:date; s=mesmtp; bh=ZlacbQUkOLByx8dCcqL+rkR 9qbA=; b=GVZJD/a3Jfnx/ntVOIOCktszpzamDmjY0cVGOVmkYuyk93py3o+v6EI sv03krZ/tohpGXCr8LUzznQbGwGi4UmzHmFQ/4N10i4HCNJ4tsFNCr16d03kQCQk BzKfrg0aRw/l5OPPIziwrbq18iGOfhK3Pokv8/Fr4KTaZgv/yOvs= DKIM-Signature: v=1; a=rsa-sha1; c=relaxed/relaxed; d= messagingengine.com; h=message-id:from:to:mime-version :content-transfer-encoding:content-type:subject:date; s=smtpout; bh=ZlacbQUkOLByx8dCcqL+rkR9qbA=; b=sQIUPwMRgZkBRKEhvtaI6jC8C+t/ rFld7m7zkHsSAQn0rX7mMv40TOjrt7fPOmMGUArxfsAJsrCx/40UpaVv7spsXwua 6Sd8hPHaGiv25YVsKCxtjgYe6eSwBn8Hgs69DmZ7lU/Dswsi4XgQLjAYAJDWlJwU jCrDXH2MMERBbXo= Message-Id: <1337347014.26363.140661077285713.26DAE636@webmail.messagingengine.com> X-Sasl-Enc: ATHmJqPARpD4bkqG/rNmX41305lrT2NNSaazeSGsZHaL 1337347014 From: Ronald Fischer To: zsh-users@zsh.org MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Type: text/plain X-Mailer: MessagingEngine.com Webmail Interface Subject: Extracting the 4th word of the first line in a file - is there a more elegant solution? Date: Fri, 18 May 2012 15:16:54 +0200 Within a script, I have need to store the 4th word in the first line of a file. Of course this is trivial to implement. However, I'm curious whether there exists a better way to implement than what I found. My current solution goes like this: # $1 is the filename line=$(head -n 1 $1) field=${lin[(w)4]} This is OK, but this needs an auxiliary variable 'line'. I could also do it like this: field=$(head -n 1 $1|cut -f 4 -d ' ') No aux variable, but needs a pipe So I wonder, whether there is a elegant "zsh" solution, which solves this in a more elegant way? Ronald -- Ronald Fischer + If a packet hits a pocket on a socket on a port, + and the bus is interrupted and the interrupt's not caught, + then the socket packet pocket has an error to report. + (cited after Peter van der Linden)