# Comando Xargs do Linux: executar comandos com argumentos a partir do STDIN

O xargs do Linux permite converter uma entrada padrão (STDIN) em comandos, que podem ser utilizados diretamente. Embora não seja muito comum usar o xargs no Linux, ele pode facilitar bastante o seu trabalho.

## Em que consiste o comando xargs do Linux?

O xargs («argumentos estendidos») é um [comando do Linux](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/comandos-do-linux-a-lista-essencial/ "Comandos de Linux: la lista fundamental") pouco utilizado por muitos dos seus utilizadores. No entanto, é extremamente útil, pois ajuda a simplificar o trabalho e contribui para proteger o seu computador. Com o xargs do Linux **, dois comandos são ligados entre si**: o xargs analisa a saída de um dos comandos e aplica os resultados no segundo. É especialmente útil se estiver a processar um grande número de ficheiros e precisar de realizar certas tarefas de forma repetitiva.

Uma vez que a maioria das distribuições Linux (como [o Debian](https://www.ionos.com/pt-pt/digitalguide/servidores/know-how/debian-o-software-universal-para-sistemas-operativos/ "Debian, el software universal para sistemas operativos") ou o Ubuntu) inclui o xargs, não é necessário instalá-lo.

## Como funciona o xargs no Linux?

O xargs lê dados da entrada padrão (ou seja, STDIN) e **converte-os em comandos**. O comando ou comandos em questão são passados para o segundo comando como parâmetro ou argumento e, em seguida, são executados uma ou várias vezes. Se não for especificado um comando específico como parâmetro, o xargs utiliza automaticamente o comando echo do Linux.

## Qual é a sintaxe do xargs no Linux?

Se quiseres utilizar o comando xargs no terminal, usa a seguinte sintaxe:

```bash
$ Primer_Comando | xargs [Opciones] [Segundo_Comando]
```

Desta forma, o segundo comando é executado com os argumentos do primeiro.

## Quais são as opções do comando xargs?

Existem inúmeras alternativas ao xargs no Linux. Aqui estão as mais importantes:

- **-0 ou –null**: com esta opção, cada carácter é interpretado literalmente e o carácter NULL separa os argumentos.
- **-a ou –arg-file**: com esta opção, os argumentos são lidos a partir de um ficheiro em vez da entrada padrão.
- **-d ou –delimiter**: com esta opção, cada caractere também é interpretado literalmente. A separação é marcada pelo caractere delimitador e não pelos espaços em branco.
- **-p ou –interactive**: com esta opção, antes de cada execução do xargs, é perguntado se se deve prosseguir.

## Exemplo do xargs no Linux

A melhor forma de demonstrar o funcionamento do comando xargs é através de alguns exemplos.

```bash
$ find -name "*.txt" | xargs rm
```

Neste exemplo, o xargs é utilizado em conjunto com o comando Linux find e o comando Linux rm. Como resultado, todos os ficheiros com a extensão *.txt* são eliminados do sistema de ficheiros do computador.

```bash
$ find -name "*.txt" | xargs grep "Factura"
```

Neste exemplo, o xargs ajuda a encontrar todos os ficheiros que contêm a palavra «Factura». Para tal, além do find, utiliza-se também o comando grep.


This is a markdown version of: [https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/comando-xargs-do-linux/](https://www.ionos.com/pt-pt/digitalguide/servidores/configuracao/comando-xargs-do-linux/) for AI/LLM consumption.