X-Recipient: archive-cygwin@delorie.com
X-SWARE-Spam-Status: No, hits=-2.9 required=5.0	tests=AWL,BAYES_00,KHOP_THREADED,T_RP_MATCHES_RCVD
X-Spam-Check-By: sourceware.org
Message-ID: <4F97DA45.9050100@cs.umass.edu>
Date: Wed, 25 Apr 2012 07:04:37 -0400
From: Eliot Moss <moss@cs.umass.edu>
Reply-To: moss@cs.umass.edu
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:11.0) Gecko/20120327 Thunderbird/11.0.1
MIME-Version: 1.0
To: cygwin@cygwin.com
Subject: Re: xargs: Why does order of command line switches matter?
References: <1335349788.2627.140661067092681.0CBF054A@webmail.messagingengine.com>
In-Reply-To: <1335349788.2627.140661067092681.0CBF054A@webmail.messagingengine.com>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
X-IsSubscribed: yes
Mailing-List: contact cygwin-help@cygwin.com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Subscribe: <mailto:cygwin-subscribe@cygwin.com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin@cygwin.com>
List-Help: <mailto:cygwin-help@cygwin.com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner@cygwin.com
Mail-Followup-To: cygwin@cygwin.com
Delivered-To: mailing list cygwin@cygwin.com

On 4/25/2012 6:29 AM, Ronald Fischer wrote:
> Why do I get a different output in the following two invocations of
> xargs? I had expected that the relative order of the command line
> switches (-I, -L) would not matter:
>
> $ ls | xargs -I DIR -L 1 echo DIR
> DIR wontprint.txt
> DIR x.cmd
> DIR x.pl
> DIR x.sh
> $ ls | xargs -L 1 -I DIR echo DIR
> wontprint.txt
> x.cmd
> x.pl
> x.sh
>
>
> xargs (GNU findutils) 4.5.9
> Packaged by Cygwin (4.5.9-2)

I agree that that is what happens, and that it does seem
strange and buggy.  I note, though, that -I *implies* -L 1,
so the -L 1 is unnecessary. Perhaps the explicit mention of
-L 1 "kills" the -I flag in xarg's command line processing.
My guess is that this behavior is passed on from the upstream
implementation and is not specific to cygwin, which means that
the appeal for a change would probably need to be lodged
elsewhere ...

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

