O comando XARGS é uma ferramenta de linha de comando usada para ler dados da entrada padrão e posteriormente executa um comando com base na entrada padrão. É uma ferramenta útil no gerenciamento de arquivos, especialmente quando usado com outros comandos como Mkdir, Grep, RM etc. Neste tutorial, vamos aprender a usar XARGs no Linux.
Sintaxe básica
A sintaxe básica ao usar o comando XARGS é a seguinte:
$ command1 | comando xargs2
Para passar o stdout para Xargs, usamos um símbolo de tubo (|).
Os XARGs também podem ser usados com várias opções e, nesse caso, é necessário a sintaxe:
$ command1 | XARGS [Options] Command2
Usando XARGs com o comando de encontro
O comando XARGS é comumente usado com o comando encontre. É usado para pesquisar arquivos específicos e executar mais processamento nesses arquivos usando XARGs. A sintaxe para combinar XARGs com o encontro é:
$ find [diretório] -name "[termo de pesquisa]" -Type f | XARGS [comando]
Ao usar XARGs com o encontro, ele não inclui arquivos que contêm caracteres especiais em seus nomes. É aconselhável usar a opção Localizar -Print0 para incluir esses arquivos.
No exemplo abaixo, usaremos o comando Lettle para pesquisar todos os arquivos com o .Extensão txt e depois exclua -os. Vamos primeira lista usando o comando LS.
$ ls
Agora, vamos invocar o comando find e o comando xargs para localizar todos os arquivos de texto (.txt) e excluí -los.
$ find /home /james -name "*.txt "-Type f -Print0 | xargs rm -f
Usando Xargs com grep
Além disso, o comando XARGS pode ser usado com o grep para procurar uma string em uma lista de arquivos especificados. Use a sintaxe abaixo:
$ encontre. -Nome 'Pesquisa-termo' | Xargs Grep 'String-to-Wind-in-Files'
No exemplo abaixo, primeiro procuramos arquivos com o .Extensão txt e depois os puxou para Xargs, que então executou o comando Grep. Podemos observar que ele procurou a string 'Amostra.'
Execute vários comandos com o comando XARGS
Para executar vários comandos com XARGs, use a opção -i. A sintaxe usada é:
[Comando] | xargs -i % sh -c '[command -1] %; [Command-2] %'
Vamos dar uma olhada no exemplo abaixo; Vamos executar dois comandos; Primeiro, criaremos três arquivos usando o comando Touch e depois os listaremos usando o comando ls.
Leia itens do arquivo
XARGS é usado para ler a entrada padrão. Para ler os itens em um arquivo, use o comando XARGS junto com a opção -a.
$ xargs -a [nome do arquivo]
Visualizar comandos executados por Xargs
Para ver os comandos executados pelo XARGS na saída padrão, use a opção -t. A sintaxe é:
$ [comando] | Xargs -t [comando]
No exemplo abaixo, observe que Xargs executou o comando Touch na string fornecida por um eco.
Limite de saída por linha
Você pode controlar o número de argumentos passados para o comando XARGS em um determinado momento. Use a opção -n para especificar o número de argumentos que você está limitando XARGs a.
$ [entrada de comando-fornecimento] | xargs -n [número] [Comando]
No exemplo a seguir, Xargs divide a string do comando ECHO em. para três partes. Em seguida, executa o eco para cada parte.
Remova espaços em branco na corda
XARGS pode ser usado como uma ferramenta para remover espaços em branco de uma corda. Vá a corda para o comando XARGS. Use a sintaxe abaixo:
$ echo "string" | Xargs
No exemplo abaixo, depois que o XARGS é executado, o comando é impresso sem espaços antes e depois das aspas duplas
$ echo "comando xargs no linux" | Xargs
Número da lista de linhas/palavras/caracteres em cada arquivo
XARGS pode ser usado como uma ferramenta para exibir uma lista com o número de linhas, palavras e caracteres em arquivos. Use o comando WC (contagem de palavras) após XARGs para exibir linha, palavra e contagem de caracteres de arquivos específicos
$ LS LS | Xargs wc
No exemplo abaixo, usamos o WC para listar o número de caracteres nos arquivos com a string "arquivo":
Especifique o delimitador
Para alterar o delimitador do padrão, use a opção -d de comando seguida por um personagem que você deseja usar como o novo delimitador. A sintaxe é mostrada abaixo:
$ [comando-] | XARGS -D [novo delimitador] | XARGS [comando]
Na imagem abaixo, mudamos nosso delimitador * e depois aplicamos mkdir a cada comando.
Copiando arquivos para vários diretórios
XARGS pode ser usado para copiar arquivos para vários diretórios. Use a sintaxe abaixo:
$ echo [diretório1] [diretório2] | XARGS -N 1 cp -v [arquivo]
Conclusão
XARGS é um poderoso utilitário de linha de comando para uso diário. Para informações mais detalhadas, leia o hiperlink “http: // man7.org/linux/man-páginas/man1/xargs.1.HTML ”Página do homem Xargs.