Metacaracteres e pipes
Metacaracteres
Os metacaracteres são caracteres especiais do Shell usados para pesquisa, manipulações de arquivos e operações de texto.
Também são conhecidos como wild-cars ou curingas.
Lista de metacaracteres:
Asterisco ( * ): Substitui por 0 ou mais caracteres. Você pode listar todos os arquivos de texto usando esse metacaracter. Ou usar para fazer uma busca por todos os arquivos que iniciam com trabalho.
ls *.txt
ls trabalho*
Interrogação ( ? ): Usado para substituir um único caractere. Pode ser usado para listar todos os arquivos de textos que contém cinco caracteres.
ls ?????.txt
Colchetes ( [ ] ): Usado para representar um conjunto de caracteres. Pode ser usado junto um hífen ( - ) para indicar um intervalo de caracteres. Por exemplo, pode ser usado para listar arquivos que começa com a letra a até z e que sejam tipo texto.
ls [a-z]*.txt
Chaves ( {} ): Usado para especificar um grupo de expressões. Pode ser usado para listar todos os arquivos do tipos texto e pdf.
ls *.{txt, pdf}
Aspas ( " " ): Usado para tratar metacaracteres como caracteres comuns. Por exemplo, pode ser usado para buscar arquivos que realmente tenha um * no nome ou que possuem espaçamentos.
ls "*arquivo.pdf"
ls "arquivo de texto.txt"
Circunflexo e dólar ( ^ e $ ): Usado para fazer uma busca dentro de um arquivo. Por exemplo, para buscar dentro do arquivo linhas que iniciam com a palavra linux é usado um ^ no início da palavra que deseja buscar. E o & é usado para buscar linhas que possuem uma palavra no final.
Exemplo:
echo linux é o melhor sistema operacional > arquivo.txt
Para buscar essa frase no arquivo.txt pode ser usado o ^ ou o $.
grep '^linux' arquivo.txt
grep '&operacional' arquivo.txt
Barra invertida ( \ ): Retira a funcionalidade de um metacaracter. Para buscar um arquivo que possui um * no nome pode ser um barra invertido. O barra invertido também é usado como caractere especial de espaçamento em um nome de arquivo.
ls arq\* # o barra invetida inibiu a funcionaliade do metacaracter *
cd Área\ de\ Trabalho/
Pipes
Os pipes são usados para encadear comandos, permitindo que a saída (output) de um comando seja usada como entrada (input) para outro.
Para usar o pipe basta utilizar o caractere | entre dois comandos.
Exemplos de uso:
Contagem de número de arquivos em um diretório
ls | wc -l
Ordenar e remover linhas duplicadas de um arquivo
sort arquivo.txt | uniq
Gravar linhas de entradas específicas em um arquivo
ls -l | grep -e drwx > arquivo.txt
ls -l -> usado para listagem detalhada
| -> pipe que vai direcionar a saída (ls -l) para a entrada (grep -e drwx)
grep -> comando de filtragem
-e -> usado para especificar padrões, no caso o drwx
O comando grava em um arquivo.txt as linhas das entradas do diretório que tiveram como padrão a sequência drwx
Last updated