Moçada boa noite, to com duvida no comando "egrep", não estah claro qual é a diferença dele com o "grep".
Até onde eu sei o comando grep é usado para pesquisar dentro de arquivos e diretórios. Consultei o man do comando e ele tah dizendo que o "egrep" eh a mesma coisa de usar o "grep" com a opção "-E". Aí, o mesmo manual fala que a opção "-E" serve para "interpretar o teste padrão como uma expressão regular prolongada". Aí , o manual fala tb que expressão prolongada eh "...a pattern that describes a set of strings".
Velhinhos, eu tô boiando... help me!
Por ex, a linha de comando a seguir faz o que?:grep $(egrep '^jose:' /etc/passwd | cut -d: -f4) /etc/groupQuando digito a linha acima no console, obtenho o seguinte resultado (possuo um usuário com o nome jose, eh claro):
"jose:x:1005:"
O símbolo "^" faz o que? E o "-d:" ? E o "-f4", tá fazendo o q? O "$" naum eh pra indicar que quem tah logado possui privilégios de usuário comum?
P.S.: Alguém sabe onde eu encontro os manuais dos comandos em português?
- Home
- >
- Fórum
- >
- GNU-Linux, Free...
- >
- Outros temas GN...
- >
- egrep
Hum.. Seria legal vc pesquisar na net o que é expressão regular. Ele serve pra quando vc precisa procurar algo mais complexo que uma palavra, por exemplo, uma frase com n letras minúsculas..
No caso do exemplo, ^ indica o início da linha, ou seja, ele procurará as linhas iniciadas por "jose:".
-d: -f4 são argumentos do comando cut, e não do grep..
Vamos lá... expressões regulares 101
O primeiro argumento do grep é a expressão de busca, que pode ser uma expressão regular (regex para os mais íntimos, hehe). Uma expressão regular nada mais é do que uma maneira formal de se especificar um padrão de texto.
Tal expressão é formada por vários caracteres literais e mais alguns especiais (os chamados metacaracteres), que combinados de uma maneira específica, constituem uma regra.
Os metacaracteres mais usados e seus significados são:
- ^ início de linha
- $ fim de linha
- [] lista de caracteres literais
- . caractere qualquer
- {número} número de ocorrências de um caractere
- ? zero ou uma ocorrência do caractere
- + uma ou mais ocorrências do caractere
- * zero ou mais ocorrências do caractere
- .* AND
- | OR
- Encontrar linha em branco: ^$
- Encontrar linha que contenha um número inteiro: [0-9]+
Se interessar, entre neste site. Esse cara é o mago das expressões regulares e do sed no Brasil.
Quanto aos comandos:
- egrep é o mesmo que grep -E. Faz com que a expressão de procura seja interpretada como uma expressão regular extendida. Na implementação do GNU grep, que é o que você provavelmente usa, não tem diferença prática entre o grep e o egrep, visto que ele não faz diferença entre as sintaxes de uma expressão regular básica ou extendida. A grande diferença entre elas é que uma regex básica faz com que os seus metacaracteres ?, +, {, |, ( e ) percam os seus significados.
carlos seo, muitíssimo obrigado! Ajudou pra ca^$! Velho, to t devendo essa...
Forte abraço à todos!
Anuncie Aqui