www.delorie.com/archives/browse.cgi | search |
Mailing-List: | contact cygwin-help AT cygwin DOT com; run by ezmlm |
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 |
Message-ID: | <42F510B1.947D717C@dessent.net> |
Date: | Sat, 06 Aug 2005 12:34:09 -0700 |
From: | Brian Dessent <brian AT dessent DOT net> |
MIME-Version: | 1.0 |
To: | list Cygwin <cygwin AT cygwin DOT com> |
Subject: | Re: Question about coreutils common option "-" |
References: | <20050806191127 DOT 35121 DOT qmail AT web30208 DOT mail DOT mud DOT yahoo DOT com> |
X-Spam-Report: | -5.7/5.0 ---- Start SpamAssassin results * -3.3 ALL_TRUSTED Did not pass through any untrusted hosts * -2.6 BAYES_00 BODY: Bayesian spam probability is 0 to 1% * [score: 0.0000] * 0.2 AWL AWL: From: address is in the auto white-list ---- End SpamAssassin results |
X-IsSubscribed: | yes |
Reply-To: | cygwin AT cygwin DOT com |
Peter Farley wrote: > I thought the following would produce "ls -l" output > for the space-separated list of files selected by the > "find" options, but instead I get an error message > from "ls": > > $ find a -daystart -type f -mtime 7 -printf " %p"|ls > -l - > ls: -: No such file or directory > > The output from the "find" looks like this: > > $ find a -daystart -type f -mtime 7 -printf " %p" > a/list.txt a/list_0002.txt I've never heard of using '-' to ls this way. The coreutils info page does list it as a common flag, but my interpretation of the language there is that it's only referring to programs that act as input/output filters, not as a general-purpose way of passing filename arguments. That's why xargs exists. You can get ls-like output from find without any other programs: find a -daystart -type f -mtime 7 -ls If you must use an external program, the usual way to take the output from find and send it as arguments is with xargs: find a -daystart -type f -mtime 7 | xargs ls -l Note that both this and your '-printf " %p"' method will not work for filenames that contain spaces or special characters. Therefore the superior way of doing this is: find a -daystart -type f -mtime 7 -print0 | xargs -0 ls -l > I do not have an *ix system on which to test if this > is a Cygwin coreutils problem or a misunderstanding by > me of the operation of the "-" option. Can you please > tell me if I am wrong about my use of the "-" option? It doesn't work under linux either. (It's the same coreutils code in either case.) Brian -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |