O AWK é particularmente adequado para dados tabulares e tem uma curva de aprendizado mais baixa do que algumas alternativas.
Um AWK Primer ( link alternativo )
info sed
, info grep
e info awk
ou info gawk
Sou usuário do Linux há algum tempo e tenho uma compreensão bastante decente da maioria dos utilitários de linha de comando comuns. No entanto, os que surgem novamente em relação à programação são grep
, awk
e sed
.
A única coisa em que usei o grep é a inserção de arquivos nele para localizar arquivos em arquivos de log, a saída de ps
etc. Eu não usei awk
ou sed
. Existem bons tutoriais para esses utilitários?
O AWK é particularmente adequado para dados tabulares e tem uma curva de aprendizado mais baixa do que algumas alternativas.
Um AWK Primer ( link alternativo )
info sed
, info grep
e info awk
ou info gawk
O livro sed e awk da O'Reilly é ótimo para er sed e awk
Eu escrevi um livro sobre sed
- Guia Definitivo para sed - que inclui um tutorial. Ele abrange totalmente sed
, bem como comandos relacionados, como grep
, tr
, head
e tail
. Também cobre completamente expressões regulares muito melhor do que eu vi em outros lugares.
Concordo com os outros que o bom entendimento das expressões regulares é muito importante. Eu também concordo que sed
é melhor usado para tarefas mais simples, scripts mais complexos rapidamente ficam obscuros.
Eu discordo que awk
é obsoleto, exatamente o oposto. É como muitas coisas de unix (por exemplo, vi
), há uma curva de aprendizado, mas vale a pena.
Não estou de acordo com a sugestão de usar awk
no lugar de grep
. Não faz sentido na minha experiência. grep
é tão grande e simples.
O Cookbook Expressões Regulares publicado pela O'Rielly seria suficiente para você chegar a qualquer lugar em qualquer idioma que os utilize.
Se você for aprender um desses 3 (grep, sed e awk), você pode simplesmente aprender awk / gawk. . O awk pode fazer as funções do grep e do sed, ou seja, usar o regex para pesquisar / substituir texto, e muito mais, porque também é uma linguagem de programação. Se você aprender os detalhes do gawk / awk, não precisará usar grep / sed / wc / cut etc. Apenas uma ferramenta faz isso.
Os autores do livro são Kernigan e Pike, o título é algo como "O Ambiente de Programação Unix".
O livro que eu realmente aprendi foi chamado de "Uma Introdução ao Berkely Unix".
Na minha opinião, awk é mais ou menos obsoleto (no entanto, outros argumentam strongmente esta opinião), a maioria das pessoas que conheço atualmente usa alguma linguagem de script como perl ou hoje em dia python para manipulação avançada de texto. sed é ótimo para tarefas mais simples de manipulação de texto, eu uso isso o tempo todo. Eu aprendi principalmente olhando para os one-liners sed como aqueles no link . Em relação ao grep: Bem, você basicamente quer ter uma sólida compreensão das expressões regulares (também necessárias para o sed). Eu aqui só usei os manuais de texinfo.