12 exemplos práticos do comando linux xargs para iniciantes

12 exemplos práticos do comando linux xargs para iniciantes

Xargs é um ótimo comando que lê fluxos de dados da entrada padrão, depois gera e executa linhas de comando; o que significa que pode levar a saída de um comando e passa como argumento de outro comando. Se nenhum comando for especificado, o XARGS executa o eco por padrão. Muitos também o instruem a ler dados de um arquivo em vez de stdin.

Existem várias maneiras de Xargs é útil no uso diário da linha de comando. Neste artigo, explicaremos 12 exemplos práticos de comando linux xargs para iniciantes.

1. O primeiro exemplo mostra como descobrir todos os .png imagens e arquivá -las usando a utilidade tar da seguinte forma.

Aqui, o comando de ação -print0 Ativa a impressão do caminho completo do arquivo na saída padrão, seguida por um caractere nulo e -0 A bandeira XARGS lida efetivamente com o espaço em nomes de arquivos.

$ encontre fotos/ tecmint/ -name "*.png "-Type f -print0 | xargs -0 tar -cvzf imagens.alcatrão.gz 
Encontre imagens e arquivo usando alcatrão

2. Você também pode converter saída muti-line do comando ls em linha única usando Xargs do seguinte modo.

$ ls -1 imagens/ tecmint/ $ ls -1 imagens/ tecmint/ | Xargs 
Listar arquivos em linha única

3. Para gerar uma lista compacta de todas as contas de usuário do Linux no sistema, use o seguinte comando.

$ corte -d: -f1 < /etc/passwd | sort | xargs 
Encontre a lista de usuários do Linux

4. Supondo que você tenha uma lista de arquivos e deseja saber o número de Linhas/palavras/caracteres Em cada arquivo da lista, você pode usar o comando ls e Xargs Para esse fim, como segue.

$ ls * upload * | Xargs wc 
Contagem número de linhas, palavras e caracteres em arquivos

5. Xarags também permite encontrar e remover recursivamente um diretório, por exemplo, o seguinte comando removerá recursivamente Domterm no diretório Transferências.

$ find Downloads -name "domert" -Type d -print0 | xargs -0 /bin /rm -v -rf "" 
Encontre e exclua recursivamente o diretório

6. Da mesma forma que o comando anterior, você também pode encontrar todos os arquivos nomeados net_stats no diretório atual e excluí -los.

$ encontre . -Nome "net_stats" -Type f -Print0 | xargs -0 /bin /rm -v -rf "" 

7. Em seguida, use Xargs copiar um arquivo para vários diretórios de uma só vez; Neste exemplo, estamos tentando copiar o arquivo.

$ eco ./Modelos/ ./ Documentos/ | XARGS -N 1 cp -v ./Downloads/sic_template.xlsx 
Copie o arquivo para vários diretórios

8. Você também pode usar o comando de encontro, Xargs e renomear comandos juntos para renomear todos.

$ encontre documets -Depth | Xargs -n 1 renomear -v 's/(.*) \/([^\/]*)/$ 1 \/\ l $ 2/' \; 

9. Aqui está outro exemplo de uso útil para Xargs, Ele mostra como excluir todos os arquivos em um diretório, exceto um ou poucos arquivos com uma determinada extensão.

$ encontre . -tipo f -não -name '*gz' -print0 | Xargs -0 -i  rm -v  

10. Como mencionado anteriormente, você pode instruir Xargs para ler itens de um arquivo em vez de entrada padrão usando o -a bandeira como mostrado.

$ xargs -a rss_links.TXT 

11. Você pode ativar a verbosidade usando o -t Flag, que diz Xargs Para imprimir a linha de comando na saída de erro padrão antes de executá -lo.

$ find Downloads -name "domert" -Type d -print0 | xargs -0 -t /bin /rm -rf "" 

12. Por padrão, Xargs termina/delimita itens usando espaços em branco, você pode usar o -d bandeira para definir o delimitador que pode ser um único caractere, uma fuga de personagem de estilo C, como \ n, ou um código de escape octal ou hexadecimal.

Além disso, você também pode levar ao usuário sobre a execução de cada linha de comando e ler uma linha do terminal, usando o -p bandeira como mostrado (basta digitar y para sim ou n para não).

$ eco ./Modelos/ ./ Documentos/ | XARGS -P -N 1 cp -v ./Downloads/sic_template.xlsx 
Promover usuário antes de executar o comando

Para mais informações, leia o Xargs página de homem.

$ Man Xargs 

É isso por agora! Xargs é uma utilidade poderosa para a construção de uma linha de comando; Pode ajudá -lo a passar a saída de um comando como um argumento de outro comando para processamento. Neste artigo, explicamos 12 exemplos práticos de comando XARGS para iniciantes. Compartilhe seus pensamentos ou perguntas conosco através do formulário de feedback abaixo.