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

Índice:

Anonim

Neste tutorial, vamos aprender-

  • O que é um Pipe no Linux?
  • comandos 'pg' e 'mais'
  • O comando 'grep'
  • O comando 'sort'
  • O que é um filtro?

O que é um Pipe 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 a misturar 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 se estende por várias páginas, o prompt pula 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.

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 

ou

cat Filename | more

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

O comando 'grep'

Suponha que você queira pesquisar uma determinada informação do código postal de um arquivo de texto.

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

Sintaxe:

grep search_string

Vamos ver em ação -

Aqui, o comando grep pesquisou o arquivo 'sample', para a string 'Apple' e 'Eat'.

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

Opção Função
-v Mostra todas as linhas que não correspondem ao texto pesquisado
-c Exibe apenas a contagem de linhas correspondentes
-n Mostra a linha correspondente e seu número
-eu Combine ambas as maiúsculas e minúsculas
-eu Mostra apenas o nome do arquivo com a string

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

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

O comando 'sort'

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

A sintaxe deste comando é:

sort Filename

Considere o conteúdo de um arquivo.

Usando o comando sort

Também existem extensões para este comando e estão listadas abaixo.

Opção

Função

-r

Inverte a classificação

-n

Classifica numericamente

-f

Classificação que não diferencia maiúsculas de minúsculas

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

O que é um filtro?

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

Quando você canaliza dois comandos, a saída "filtrada" do primeiro comando é fornecida para o próximo.

Vamos entender isso com a ajuda de um exemplo.

Temos o seguinte arquivo 'amostra'

Queremos destacar apenas as linhas que não contêm o caractere 'a', mas o resultado deve ser na ordem inversa.

Para isso, a seguinte sintaxe pode ser usada.

cat sample | grep -v a | sort - r

Vejamos o resultado.

Resumo:

  • Pipes '|' envia a saída de um comando como entrada de outro comando.
  • O filtro obtém a entrada de um comando, faz algum processamento e fornece saída.
  • O comando grep pode ser usado para encontrar 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
  • menos, pg e mais comandos são usados ​​para dividir um arquivo longo em bits legíveis