From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15041 invoked by alias); 24 Mar 2014 22:37:02 -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: 18669 Received: (qmail 21892 invoked from network); 24 Mar 2014 22:36:58 -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=-1.9 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_NONE autolearn=ham version=3.3.2 From: Bart Schaefer Message-id: <140324153628.ZM4798@torch.brasslantern.com> Date: Mon, 24 Mar 2014 15:36:28 -0700 In-reply-to: Comments: In reply to zzapper "Re: Segregating a Global Alias" (Mar 24, 5:47pm) References: X-Mailer: OpenZMail Classic (0.9.2 24April2005) To: zsh-users@zsh.org Subject: Re: Segregating a Global Alias MIME-version: 1.0 Content-type: text/plain; charset=us-ascii On Mar 24, 5:47pm, zzapper wrote: } Subject: Re: Segregating a Global Alias } } zzapper wrote in } news:XnsA2FAB2C8DE4F8davidrayninfocouk@80.91.229.13: } } > for f in NF ; perl -ne 's/(<\/\w+>)/$1\n/g; print' < $f > $f.txt That's fine, but it creates a variable $f that hangs around after the command is finished. } BTW this is perl one liner to put each XML tag on a newline. } } But can anyone else trump Bart's or my attempt? Do it entirely in perl? perl -pe '$. == 1 && open STDOUT,"> $ARGV.txt"; s/(<\/\w+>)/$1\n/g' NF That'll work for a whole list of files just like the "for" loop.