delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2015/11/23/10:23:43

X-Recipient: archive-cygwin AT delorie DOT com
DomainKey-Signature: a=rsa-sha1; c=nofws; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:reply-to:subject:references:to:from:message-id
:date:mime-version:in-reply-to:content-type
:content-transfer-encoding; q=dns; s=default; b=w761Ygiay4IsOo3A
ySNjyoksjN2J5Bb5IRkZxsEvAQFs92bVyhWLB5q0ERS33orBhj7fWPR3VKOTWdE+
KBt2sPvFUov75C8OoydXoadC78+akhzEu+lg1TI+V4EyorCNpxKbnyBAZF7U02SD
KQ8F8e9bpTHQkJ52Mch0sNsTBWQ=
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=sourceware.org; h=list-id
:list-unsubscribe:list-subscribe:list-archive:list-post
:list-help:sender:reply-to:subject:references:to:from:message-id
:date:mime-version:in-reply-to:content-type
:content-transfer-encoding; s=default; bh=BIB77Pq7pmpO7XXi2LYLAq
WBKmU=; b=mmDB2ccRpLeZ2LqzS6xp/DXAaJjukl8u9HJXyPfk8eq3h8t/BHxhxs
7QngDRewwUpYPa3tZEhWsulKDr2Mwi2yfEwhO2eSPtelZjaaoISkG7slBR6OrDLm
lrYfZkBR6YsssjNIBzdxOl50+yKSReI8wo/pcTFj0G+kEb7DyzESQ=
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com
Authentication-Results: sourceware.org; auth=none
X-Virus-Found: No
X-Spam-SWARE-Status: No, score=-1.5 required=5.0 tests=BAYES_00,KAM_LAZY_DOMAIN_SECURITY,RP_MATCHES_RCVD autolearn=no version=3.3.2
X-HELO: csmail.cs.umass.edu
Reply-To: moss AT cs DOT umass DOT edu
Subject: Re: Awk not ouputting results via echo
References: <CAE3taFC=tjki1FTfbjyt+KnEGsWmrj63FMeBjgRswRwRSKdAWQ AT mail DOT gmail DOT com>
To: cygwin AT cygwin DOT com
From: Eliot Moss <moss AT cs DOT umass DOT edu>
Message-ID: <56532F6A.3020906@cs.umass.edu>
Date: Mon, 23 Nov 2015 10:23:22 -0500
User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <CAE3taFC=tjki1FTfbjyt+KnEGsWmrj63FMeBjgRswRwRSKdAWQ@mail.gmail.com>
X-IsSubscribed: yes

Ok, I think I have a sense of an underlying problem here.

When you do:  ... | read v1 v2 ...

The read executes in an inferior process, setting variables there.
The process then exits and you have no bindings in the parent shell,
which is where you want them.

Maybe something like this would suit you better:

myfunction() {
   ... stuff using positional arguments $1, $2, etc.
}

myfunction $(awk blah ...)

This take the output of the invocation of awk and puts it
where $(awk ...) was, which will invoke myfunction with
the line, parsing it into separate arguments (I believe).

You could also capture the line using something like this:

line="$(awk ...)"

and then you can fiddle the result however you want, but I think that
calling a function (or another script) is probably simpler here.

Regards -- Eliot Moss

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019