Date: Fri, 24 Sep 2004 12:25:07 +1200 From: Juha Saarinen <juhasaarinen@gmail.com> To: Giorgos Keramidas <keramida@linux.gr> Cc: freebsd-current@freebsd.org Subject: Re: Could ARG_MAX be increased? Message-ID: <b34be842040923172557f49b67@mail.gmail.com> In-Reply-To: <20040924000313.GB27322@gothmog.gr> References: <b34be84204092304456066b0a0@mail.gmail.com> <009301c4a173$d468de90$7890a8c0@gits.invalid> <b34be84204092312336001936a@mail.gmail.com> <20040924000313.GB27322@gothmog.gr>
next in thread | previous in thread | raw e-mail | index | archive | help
On Fri, 24 Sep 2004 03:03:13 +0300, Giorgos Keramidas <keramida@linux.gr> wrote: > The friend is correct. This is a nice trick. > > xargs will construct a command line by appending one or more filenames > to what you pass. The important part being ``one or more''. > > If xargs appends one filename to an argument list of `grep foo', the > executed command is `grep foo filename', which will not list the name of > the file with every match since grep sees only 1 filename argument. > > If the argument list passed to xargs is `grep foo /dev/null' though, the > executed command is `grep foo /dev/null filename'; in this case the > filenames grep sees are always at least 2, which enables printing the > filename with every match. > > This is better illustrated with an example: > > $ grep PS1 .bashrc > export PS1='${USER}@\h[\A]${PWD}\$ ' > $ grep PS1 /dev/null .bashrc > .bashrc:export PS1='${USER}@\h[\A]${PWD}\$ ' Well, learn something new every day :-) Thanks for the explanation. -- Juha
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?b34be842040923172557f49b67>