xargs é um comando dos sistemas operacionais tipo Unix usado para construir listas de parâmetros passados antes de sua execução[1] usando as informações produzidas por outro programa em sua saída padrão[2]. Seu nome é a abreviatura de extended arguments, que é argumentos estendidos em português[3].
Um exemplo trivial de uso é canalizar o conteúdo de um arquivo texto com um nome por linha e usá-los como parâmetros para o comando touch e criar arquivos com estes nomes deste modo:
$ cat teste.txt | xargs touch
Neste exemplo o arquivo texto teste.txt é enviado para a saída padrão com o comando cat e canalizado para o xargs que chama o comando touch uma vez para cada nome no arquivo texto.
O exemplo a seguir gera uma lista ordenada de usuários cadastrados num sistema operacional Linux[4].
$ cut -d: -f1 < /etc/passwd | sort | xargs echo
Existe um comando, cuja função primordial é construir listas de parâmetros e passá-la para a execução de outros programas ou instruções. Este comando é o xargs e deve ser usado da seguinte maneira
Ele resolve o problema de pegar a saída padrão de um programa e usá-la como argumentos ou parâmetros para um comando ou programa.