[CentOS] xargs with max each line / argument

Tue May 17 05:49:31 UTC 2011
Les Mikesell <lesmikesell at gmail.com>

On 5/17/11 12:36 AM, neubyr wrote:
> How do I pass xargs input one line at a time to subsequent command?
> For example I want to install rubygems by reading a text file as shown
> below, however the arguments are getting passed all at once to the
> 'gem install' command. I hace tried -L (max-lines) and -n (max args)
> options, but it didn't work. What's missing here?? Any help?
> $ cat gem.list.1
> mkrf
> rake
> xmlparser
> $ awk '{ print $0 }' gem.list.1 | xargs -L 1 -0 -I name sudo gem install name
> ERROR:  could not find gem mkrf
> rake
> xmlparser
>   locally or in a repository

The -0 to xargs says your items will be null-terminated, but they aren't.  And 
you don't really need awk to pick the first field out of a one-field line, just 
cat it or let xargs read it directly with <gem.list.1

    Les Mikesell
     lesmikesell at gmail.com