Comando Pipe, Grep e Sort em Linux/Unix com exemplos

O que é um tubo no Linux?

O Pipe é um comando no Linux que permite usar dois ou mais comandos de forma que a saída de um comando sirva como entrada para o próximo. Resumindo, a saída de cada processo diretamente como entrada para o próximo, como um pipeline. O símbolo '|' denota um tubo.

Pipes ajudam você a combinar dois ou mais comandos ao mesmo tempo e executá-los consecutivamente. Você pode usar comandos poderosos que podem executar tarefas complexas em um instante.

Vamos entender isso com um exemplo.

Quando você usa o comando 'cat' para visualizar um arquivo que abrange várias páginas, o prompt salta rapidamente para a última página do arquivo e você não vê o conteúdo no meio.

Para evitar isso, você pode canalizar a saída do comando 'cat' para 'less', que mostrará apenas um comprimento de rolagem de conteúdo por vez.

cat filename | less 

Uma ilustração deixaria isso claro.

O que é um pipe no Linux

Clique aqui se o vídeo não estiver acessível

Comandos 'pg' e 'mais'

Em vez de 'menos', você também pode usar.

cat Filename | pg 

or

cat Filename | more

E você pode visualizar o arquivo em pedaços digeríveis e rolar para baixo simplesmente pressionando a tecla Enter.

Comandos 'pg' e 'mais'

O comando 'grep'

Suponha que você queira pesquisar uma informação específica, o código postal, em um arquivo de texto.

Você mesmo pode folhear manualmente o conteúdo para rastrear as informações. Uma opção melhor é usar o comando grep. Ele irá digitalizar o documento em busca das informações desejadas e apresentar o resultado no formato desejado.

Sintaxe:

grep search_string

Vamos ver isso em ação –

O comando 'grep'

Aqui, grep O comando pesquisou o arquivo 'sample', pelas strings 'Apple' e 'Eat'.

As seguintes opções podem ser usadas com este comando.

Opção função
-v Mostra todas as linhas que não correspondem à string pesquisada
-c Exibe apenas a contagem de linhas correspondentes
-n Mostra a linha correspondente e seu número
-i Combine ambas as letras (maiúsculas e minúsculas)
-l Mostra apenas o nome do arquivo com a string

Vamos tentar a primeira opção '-eu' no mesmo arquivo usado acima –

Usar a opção 'i' grep filtrou a string 'a' (sem distinção entre maiúsculas e minúsculas) de todas as linhas.

O comando 'grep'

O comando 'classificar'

Este comando ajuda em classificar o conteúdo de um arquivo em ordem alfabética.

A sintaxe deste comando é:

sort Filename

Considere o conteúdo de um arquivo.

O comando 'classificar'

Usando o comando de classificação

O comando 'classificar'

Tem extensões a este comando também, e eles estão listados abaixo.

Opção função
-r Revclassificação
-n Classifica numericamente
-f Classificação sem distinção entre maiúsculas e minúsculas

O exemplo abaixo mostra a classificação reversa do conteúdo do arquivo 'abc'.

O comando 'classificar'

O que é um filtro?

O Linux tem muitos comandos de filtro como awk, grep, sed, Spell e wc. Um filtro recebe a entrada de um comando, faz algum processamento e fornece a saída.

Quando você canaliza dois comandos, a saída “filtrada” do primeiro comando é fornecida ao próximo.

O que é um filtro

Vamos entender isso com a ajuda de um exemplo.

Temos o seguinte arquivo 'amostra'

O que é um filtro

Queremos destacar apenas as linhas que não contenham o caractere 'a', mas o resultado deverá estar na ordem inversa.

Para isso, a seguinte sintaxe pode ser usada.

cat sample | grep -v a | sort - r

Vejamos o resultado.

O que é um filtro

Resumo:

  • Tubos '|' envie a saída de um comando como entrada de outro comando.
  • O Filtro recebe a entrada de um comando, faz algum processamento e fornece a saída.
  • O comando grep pode ser usado para localizar strings e valores em um documento de texto
  • A tubulação através do grep deve ser um dos usos mais comuns
  • O comando 'sort' classifica o conteúdo de um arquivo em ordem alfabética
  • Os comandos less ,pg e more são usados ​​para dividir um arquivo longo em bits legíveis