Como você canaliza a saída de um comando para um arquivo no Linux

Como você canaliza a saída de um comando para um arquivo no Linux
A cano é um comando utilizado pela maioria dos usuários do Linux para redirecionar a saída de um comando para qualquer arquivo. Os sistemas operacionais UNIX e Linux usam esse comando para enviar a saída de qualquer processo, saída ou programa como uma entrada para outro processo. Esses sistemas operacionais permitem a conexão entre os comandos STDOUT e STDIN. O personagem do tubo '|' pode ser usado para a realização desta função.

Também é possível pensar nisso como um vínculo temporário, mas direto, entre dois ou mais processos, comandos ou programas. Os filtros são aqueles programas de linha de comando que executam o processamento adicional.

Essa conexão direta entre processos ou comandos permite que eles executem e passem os dados entre eles simultaneamente sem enfrentar o problema de verificar a tela da tela ou os arquivos de texto temporários. Na tubulação, o fluxo dos dados é da esquerda para a direita, que declara os tubos é unidirecional. Agora, vamos conferir alguns exemplos práticos de usar tubos no Linux.

Exibindo a lista de arquivos e diretórios:

No primeiro exemplo, ilustramos como você pode usar o comando Pipe para passar a lista de diretórios e arquivo como uma "entrada" para mais comandos.

$ ls -l | mais

Aqui, a saída de "LS" é considerada como entrada pelo comando "mais". De cada vez, a saída do comando LS é mostrada na tela como resultado desta instrução. O tubo fornece a capacidade do contêiner para receber a saída do comando LS e passá -lo para mais comandos como entrada.

Como a memória principal executa a implementação do tubo, este comando não utiliza o disco para criar um link entre a saída padrão LS -L e a entrada padrão de mais comando. O comando acima é análogo à seguinte série de comando em termos de operadores de redirecionamento de entrada/saída.

$ ls -l> temp
$ mais < temp

Confira o conteúdo do arquivo "Temp" manualmente.

$ rm temp

Classifique e imprimindo valores únicos usando tubos:

Agora, veremos um exemplo de uso de tubos para classificar um conteúdo de arquivo e imprimir seus valores exclusivos. Para esse fim, combinaremos os comandos "classificar" e "uniq" com um tubo. Mas primeiro selecione qualquer arquivo que contenha dados numéricos, no nosso caso, temos o “registro.arquivo txt ”.

Escreva o comando abaixo para que, antes do processamento do pipeline, você tenha uma idéia clara sobre os dados do arquivo.

$ CAT Record.TXT

Agora, a execução do comando abaixo classificada classificará os dados do arquivo, ao mesmo tempo em que exibirá os valores exclusivos no terminal.

$ REGISTRO DE CORLECIMENTO.txt | Uniq

Uso do tubo com comandos de cabeça e cauda

Você também pode usar comandos "Head" e "Tail" para imprimir linhas de um arquivo em um intervalo específico.

$ CAT Samplefile | Cabeça -7 | cauda -5

O processo de execução deste comando selecionará as sete primeiras linhas de "SampleFile" como uma entrada e passará para o comando da cauda. O comando da cauda recuperará as últimas 5 linhas do “Samplefile” e as imprimirá no terminal. O fluxo entre a execução do comando é tudo por causa dos tubos.

Combinando um padrão específico em arquivos correspondentes usando tubos

Os tubos podem ser usados ​​para encontrar arquivos com uma extensão específica na lista extraída do comando ls.

$ ls -l | encontrar ./ -Type f -name "*.TXT"

Comando Pipe em combinação com "Grep", "Tee" e "WC"

Este comando selecionará o "Alex" de "Record.arquivo txt ”, e no terminal, ele imprimirá o número total de ocorrências do padrão“ Alex ”. Aqui, os comandos de "gato", "grep", "tee" e "wc".

$ CAT Record.txt | Grep "Alex" | Tee File1.txt | wc -l
$ CAT FILE1.TXT

Conclusão:

Um tubo é um comando utilizado pela maioria dos usuários do Linux para redirecionar a saída de um comando para qualquer arquivo. O personagem do tubo '|' pode ser usado para realizar uma conexão direta entre a saída de um comando como uma entrada do outro. Neste post, vimos vários métodos de tubulação da saída de um comando para o terminal e os arquivos.