[CentOS] xargs with max each line / argument

Tue May 17 13:30:59 UTC 2011
m.roth at 5-cent.us <m.roth at 5-cent.us>

Andy Holt wrote:
>> [mailto:centos-bounces at centos.org] On Behalf Of neubyr
>>
>> 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
<snip>
Screw xargs. Read an awk tutorial, maybe. Learn your tools.

awk '{name = $1; cmd = "sudo gem install " name; system( cmd);}' gem.list.1.

       mark "yes, I do do awk..."