Comando Linux XARGS

Comando Linux XARGS

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.