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>
