From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, FREEMAIL_FROM,MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 12340 invoked from network); 10 Feb 2021 11:32:05 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 10 Feb 2021 11:32:05 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20200801; t=1612956725; b=hi4L7NETcPvIUxu5HgHM2S2INuCDr8fq7kaWxmEraKNpcASYTlt9YSK7yWPLeM5H0VVe2MqQBK m3LXnCEPj0Psf5jMp6ow0RPPhGT5ADonhP5d1QzXUmHuOMhfRFIn8O8wDNtztMbgdVOmfxTPQE yLkWOtlT9pSY0t0INx+E39z94VErTFWbj6CUtt0+zH0HG9lyaB8/i9aNQYImmQbyQloo7FaZKP snSW8kAGkstWmtCcoh94OpqGEHxBnVTgbY9CevpkdlCg3Zl01xuY1eCCGTAX6QvduibvkkVHNj v1k5T3xU3i1M7sIcWy48CdfZI17M0Gh06csfQudaOu+0Kw==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mout.gmx.net) smtp.remote-ip=212.227.17.22; dkim=pass header.d=gmx.net header.s=badeba3b8450 header.a=rsa-sha256; dmarc=none header.from=gmx.de; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20200801; t=1612956725; bh=kZXTE4eiAO/QVqrEbHRRycA3GETcNAvveB6HYYD02t8=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Transfer-Encoding:Content-Type:MIME-Version:Reply-To: Message-ID:Subject:To:From:Date:DKIM-Signature:DKIM-Signature; b=yOFclnDC0Yl26oAiktSZPqsRLidot6R5IcLiEpTL8zLCQp8+E6KQnq9COilZEhLtQl7M9kMJAY hsw/vx1O2S1OGE9RnWHM+Ss+qI9feW6TFlmVUsRO382sIY7ezI7weLBlXz6AnpZEAVXd83qC4b nRbcEbKsAhda3Lwc4K5EXrRAtpZsyrpgnfFugGLejlcbLgc8VRhU6Oz5r1ohpKKWCNIX5MGslA exDL9lxdWHvm9Z8aOln3z1Bi895LzT/ebqm0N70aa9wOFL/bBrdV9u/rhV0sz2rPH5DU1luKGW TPAS63ZKo5Vo1rWBi8TUnhGUUnB4Cch7egPNGAf5jCA0gA==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20200801; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Transfer-Encoding: Content-Type:MIME-Version:Reply-To:Message-ID:Subject:To:From:Date:Cc: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References; bh=v4c7aWaqYyuAbXq536vp5uUgoaaXLLaGJt7rZUTVcx8=; b=0JXlcjXY9CrHUn75NmbkUVBPxp PIdMB8vSnhOTdDHEXI0jbHUCcjTAM7/oj34y7ENamiG/dYcIsKvFidFnjf8y6m3wTsBclJliAHC+m umMEfQY+3P4FnzxIY43eKYh4S7+MuTdcgupGIs31Ks44I3jMCssQ+RZ6AbZ80QMCvKgzBiPzF9HYS GBWFd4jAAuyAdGXcKh4jysLnGJ2Qdlwk82lNHTTiRpuJzSS/F9B2de5hbpBlwBrFUiI5OE8mL8LBA IGylcc7kP9GiHMLixQryH/XBkRkOAgwHQYNtED2RHi3lGc6BVjB6rdeLE74AGlmwN8xO76tWFW4EJ Vue8z0Tw==; Received: from authenticated user by zero.zsh.org with local id 1l9niy-0001DV-1k; Wed, 10 Feb 2021 11:32:00 +0000 Authentication-Results: zsh.org; iprev=pass (mout.gmx.net) smtp.remote-ip=212.227.17.22; dkim=pass header.d=gmx.net header.s=badeba3b8450 header.a=rsa-sha256; dmarc=none header.from=gmx.de; arc=none Received: from mout.gmx.net ([212.227.17.22]:53939) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_256_GCM_SHA384:256) id 1l9niO-0000q9-VV; Wed, 10 Feb 2021 11:31:25 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=gmx.net; s=badeba3b8450; t=1612956684; bh=kZXTE4eiAO/QVqrEbHRRycA3GETcNAvveB6HYYD02t8=; h=X-UI-Sender-Class:Date:From:To:Subject:Reply-To; b=cu1Z6nW/J/rAhEKoTYYB8L0DdIHXmbbUfTHrfKYnse1qEyM/bvvqLiuFfsSvSmhJr d5n6ej+WaSpq6jZbaX+FQA/GrTK8X0VwQcOjkJ4UZriCJ/00x9BNiSpGDIOh5PxSTq voBtDL3OcTXjf5q0Z+08eoAvlE3YpyfrqJi5KNlU= X-UI-Sender-Class: 01bb95c1-4bf8-414a-932a-4f6e2808ef9c Received: from zitrone.obstwiese ([46.223.162.48]) by mail.gmx.net (mrgmx104 [212.227.17.168]) with ESMTPSA (Nemesis) id 1MjS54-1lbl140BdC-00kxkw for ; Wed, 10 Feb 2021 12:31:24 +0100 Received: from luthien by zitrone.obstwiese with local (Exim 4.92) (envelope-from ) id 1l9niJ-0000i7-6N; Wed, 10 Feb 2021 12:31:19 +0100 Date: Wed, 10 Feb 2021 12:31:19 +0100 From: Dominik Vogt To: Zsh Users Subject: Clustered output of a function Message-ID: <20210210113119.GA2435@gmx.de> Reply-To: dominik.vogt@gmx.de Mail-Followup-To: Zsh Users MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.10.1 (2018-07-13) X-Provags-ID: V03:K1:9cwuUo3l1J7GLtzP/8Emvrl7OxicU1ySSqIkhwGdQHoKdFFa0pB RtqVFNY4qOLw+EVuALbHqEQp0o7E1YUFPR8FVnU91i0EMxdaYbfTeShuAguTlkiEJSFXvkC xXJRB5k/F4Bkj6fZm9Q7YdOfZP+/hlILzBfBX/wqyPbjnkN6FBlEzMVlWobIaMiwH6zjlPl 0vTNSkUwXKUcST2zbA7vA== X-UI-Out-Filterresults: notjunk:1;V03:K0:AIhYYiPbCok=:yIDmLzNQel45TjWDd3bBlz 8PGMUvb7fR8iBX55hYL/TnE6/OHKr9LagmUYx63VRiYC3r9Sx4jcdUsw2p6kQf0Wf4gjYKigF HeMKxAs+seSnLH3BR6BEqTaFsEwQoYptREbAVjykPyuuKFfQBYZ//U46qrmGzcaZOMfIh07nJ V6ET8FNYBIPW9Bl07fD/z3i4r10noe84npyJow8gHCCDHZ6gNDyXwCUlgnoYPp8ezXC14mEey chvQQHzwrUU806tw64olBOKmNa7uktCbg51oBcHxQU3+1zoWjQlZXolRSnt8flaPtTtTZdjP5 5i7FozTF7sYLhCf4eE+vAGNNBTKDxw7YNVsak41TV88ZhPK++M2ky4AO7pPZ+gDsKy801PKuC Hz+bmYZ/ETGbM5ERmBE0MtZXGpes2ntogHSC/B/LEIj+MpEBPVumE3owZss9Dcfupb4qnpbYA vMjUc9dbHKv5YVcHjU2zFBk9rU/run58a4KlB0h2E7DzYHVLEYLJ9H3aBmTpN2WrD+OotBIA4 0YYFcQxYTyKzV2jTcuQgREGGPvElT3t7CT0g+tYz1oN7g6tWWoCmBUrLzHfbHVIyVFY+elq5w p2i06HI05qH47BbxXQjlcM/Sn/QqbA9Xy/U4+4loNGNWnECsJPyl0Ki66l7hrWqHojiNb3VBO Un9L9xHyNR3XcKm0KOTr6JyQdkq0hNHqfUN3jIEMnrt+644QgD2UedEJB/SEYhrkOPvN7XyU3 mGQnoFMXCVyqkCkJ0SWFhGG0EAS8vaPeV4FzaEwuZqyeqYMCR/STRq85gcqd4EIHPRDyIe3LG 7Qu7PQU8mC+LVGQZQYaxNLGJNGZ7JLzGH9BHUEn8hN7XRE3iHJQ65dOWtvDcfwypKCzwcOV/B C4wDmS4HxfmS7VRl5rTw== Content-Transfer-Encoding: quoted-printable X-Seq: 26488 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: Archived-At: There is a shell function that takes input from stdin, processes that and responds by printing multiple lines to stdout for each line in stdin, E.g. input line 1 -> output A1 output B1 input line 2 -> output C2 input line 2 -> output A3 output B3 I.e. the output order is A1 B1 C2 A3 B3. Now, all A-lines should be in a block before all other output lines: A1 A3 B1 C2 B3 The point is, I'm looking for a way to do this (a) without using temporary files, (b) without parsing the input twice, and (c) without buffering the output in variables. =2D- Is there a nice way to "park" the second block of output somewhere and emit it just before the function terminates? Ciao Dominik ^_^ ^_^ =2D- Dominik Vogt