– root@injetionsec:~#

Expressões regulares grep e sed

26.06.2015 (1:49 am) – Filed under: Linux ::

Expressão regular: é um método formal de se especificar um padrão de texto á ser procurado em um ou mais arquivos, é uma composição de caracteres com funções especiais(meta caracteres) que são agrupados entre si com caracteres literais (de A á Z) e números, as expressões regulares são úteis para validar texto e variais; alguns exemplos como : ips,e-mail,dados em colunas,cnpj,rg e etc.

O comando grep é muito utilizado no dia a dia em tarefas no linux, ele filtra as linhas de um determinado arquivo procurando as expressões regulares como padrão

root@test:~# grep [opcao] [expressoa regular][arquivos]

Suas opções são :

-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 indicação do nome dos arquivos
-i : procura as ocorrências ignorando se as letras estão em maiúsculas ou minúsculas
-v : mostra todas as opções dos arquivos procuradas menos as ocorrências encontradas
-n : mostra alem dos textos encontrados o numero de linhas
-B [n]: mostra n linhas antes da linha encontrada
-A [n]: mostra n linhas depois da linha encontrada

expressão:
‘^[palavra]’ : procura linhas começadas com a letra
‘[palavra]$’: procura linhas terminadas com a letra
‘^[aeiou]’: procura qualquer linha que começem com qualquer vogal
‘^.[aeiou]’: fara com grep procura qualquer caractere que comece com qualquer vogal e o [aeiou] significa o segundo ponto
‘[0-9][0-9][0-9][0-9]’ : procura uma linha que contem uma sequencia de intervalos consecutivos de numero

O comando sed é um editor de texto simples,utilizado para editar pequenos arquivos, ele recebe um ou mais arquivos passados como argumento na linha de comando e transforma enviando para saida padrão

root@test:~# sed [opcao]{script}[arquivo]

‘ : as aspas simples são utilizadas para delimitar o texto dentro delas como um caractere literal
” : as aspas dupla são utilizadas para delimitar o texto dentro delas como caractere literais exceto os sinais “$” e “\”
[aeiou]: uma sequencia de caractere dentro de colchetes e interpretadas coomo todos os caracteres são validos para a busca
[a-z] : qualquer caractere entre a letra a e z são validos
[0-9]: qualquer numero entre 0 e 9 são validos
[^abc]: qualquer caractere e valido menos as letras a,b,c
/palavra/ : indica que a palavra a ser buscada deve ser separada por um espaço tanto na esquerda quanto na direita
. : o ponto final indica qualquer caractere menos uma linha em branco

=)