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