Uma expressão regular é um método formal de se especificar um padrão de texto a ser procurado em um ou mais arquivos. É uma composição de caracteres com funções especiais (metacaracteres) que, agrupados entre si com caracteres literais (de A à Z) e números, podem formar uma sequência; uma expressão que o shell e editores de texto podem entender e buscar.
O comando grep
O comando grep é largamente utilizado em tarefas administrativas. Ele filtra as linhas de um determinado arquivo procurando por uma expressão regular como padrão. O grep pode ler um ou mais arquivos que são passados como argumento ou pode receber na entrada padrão redirecionamento da saída de outro processo. Um uso comum do grep é mostrar o conteúdo de arquivos de configuração excluindo apenas as linhas que correspondem a comentários, ou seja, as linhas que começam com o caractere #. Por exemplo, fazê-lo com o arquivo /etc/yum.conf:
# grep -v ’^#’ /etc/yum.conf
Opções comuns na utilização do grep:
- -c – Mostra somente a contagem das ocorrências nos arquivos e não as linhas onde as ocorrências foram encontradas;
- -h – Mostra somente as linhas encontradas, sem a indicação do nome dos arquivos;
- -i – Procura as ocorrências ignorando se as letras estão maiúsculas ou minúsculas;
- -v – Mostra todas as linhas do arquivo procurado menos as ocorrências encontradas;
- -n – Mostra, além do texto das linhas encontradas, o número das linhas dentro dos arquivos.
Exemplos:
Encontrar ludolfs no /etc/passwd:
# grep ludolfs /etc/passwd
ludolfs:x:1000:1000:ludolfs:/home/ludolfs:/bin/bash
Procurar todas as linhas iniciadas com a letra l no arquivo /etc/passwd. O acento circunflexo simboliza o início de uma linha:
# grep ‘^l’ /etc/passwd lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin ludolfs:x:1000:1000:ludolfs:/home/ludolfs:/bin/bash
Com isso, iniciamos uma nova saga dissecando o comando grep. Nos próximos artigos iremos dar continuidade ao assunto. Até a próxima!