it-swarm-es.tech

¿Hay un tutorial básico para grep, awk y sed?

He sido un usuario de Linux por un tiempo, y tengo una comprensión bastante decente de la mayoría de las utilidades de línea de comandos comunes. Sin embargo, los que aparecen una y otra vez en relación con la programación son grep, awk y sed.

Para lo único que he usado grep es para canalizar cosas en él para encontrar archivos en archivos de registro, la salida de ps etc. No he usado awk o sed en absoluto. ¿Hay buenos tutoriales para estas utilidades?

98
Macha

AWK es particularmente adecuado para datos tabulares y tiene una curva de aprendizaje más baja que algunas alternativas.

AWK: un tutorial e introducción

n AWK Primer ( enlace alternativo )

RegularExpressions.info

tutorial de sed

tutorial grep

info sed, info grep y info awk o info gawk

El libro O'Reilly sed and awk es excelente para er sed y awk.

19
user591

Escribí un libro sobre sedGuía definitiva para sed - que incluye un tutorial. Cubre completamente sed, así como comandos relacionados como grep, tr, head y tail. También cubre completamente las expresiones regulares mucho mejor de lo que he visto en otros lugares.

Estoy de acuerdo con otros en que es muy importante comprender bien las expresiones regulares. También estoy de acuerdo en que sed se usa mejor para tareas más simples, los scripts más complejos se vuelven oscuros rápidamente.

No estoy de acuerdo con que awk esté obsoleto, todo lo contrario. Es como muchas cosas de Unix (por ejemplo, vi), hay una curva de aprendizaje, pero vale la pena.

No estoy de acuerdo con la sugerencia de usar awk en lugar de grep. No tiene sentido en mi experiencia. grep es genial y simple.

11
Daniel Goldman

El Libro de cocina de expresiones regulares publicado por O'Rielly sería suficiente para llevarlo a cualquier parte en cualquier idioma que los use.

3
ixtmixilix

Los autores del libro son Kernighan y Pike, el título es algo así como "El entorno de programación de Unix".

El libro del que realmente aprendí se llamaba "Una introducción a Berkeley Unix".

3
HandyGandy

Si va a aprender uno de estos 3 (grep, sed y awk), puede aprender awk/gawk. . awk puede hacer las funciones de grep y sed, es decir, usar expresiones regulares para buscar/reemplazar texto, y mucho más porque también es un lenguaje de programación. Si aprende los detalles de gawk/awk, no necesitará usar grep/sed/wc/cut, etc. Solo una herramienta lo hace.

2
user1606

En mi opinión, awk es más o menos obsoleto (sin embargo, otros argumentarán enérgicamente esta opinión), la mayoría de las personas que conozco hoy en día usan un lenguaje de script como Perl o hoy a menudo python para la manipulación avanzada de texto) . sed es ideal para tareas de manipulación de texto más simples, lo uso todo el tiempo. Lo aprendí principalmente al mirar líneas de información de sed como las de http://sed.sourceforge.net/sed1line.txt =. Con respecto a grep: Bueno, básicamente, quieres obtener una comprensión sólida de las expresiones regulares (también necesarias para sed). Aquí acabo de usar los manuales de texinfo.

1
fschmitt