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.