web-dev-qa-db-fra.com

Existe-t-il un tutoriel de base pour grep, awk et sed?

Je suis un utilisateur Linux depuis un certain temps et j'ai une bonne compréhension de la plupart des utilitaires de ligne de commande courants. Cependant, ceux qui reviennent et reviennent en relation avec la programmation sont grep, awk et sed.

À propos de la seule chose pour laquelle j'ai utilisé grep, il y a des tuyaux pour trouver des fichiers dans les fichiers journaux, la sortie de ps etc. Je n'ai pas utilisé awk ou sed du tout. Existe-t-il de bons didacticiels pour ces utilitaires?

98
Macha

AWK est particulièrement bien adapté aux données tabulaires et a une courbe d'apprentissage plus faible que certaines alternatives.

AWK: un tutoriel et une introduction

ne introduction AWK ( lien alt )

RegularExpressions.info

tutoriel sed

tutoriel grep

info sed, info grep et info awk ou info gawk

Le livre O'Reilly sed and awk est idéal pour er sed et awk.

19
user591

J'ai écrit un livre sur sedGuide définitif de sed - qui comprend un tutoriel. Il couvre entièrement sed, ainsi que les commandes associées comme grep, tr, head et tail. Couvre également bien mieux les expressions régulières que ce que j'ai vu ailleurs.

Je suis d'accord avec d'autres pour dire qu'une bonne compréhension des expressions régulières est très importante. Je conviens également que sed est mieux utilisé pour des tâches plus simples, les scripts plus complexes deviennent rapidement obscurs.

Je ne suis pas d'accord que awk est obsolète, bien au contraire. C'est comme beaucoup de choses Unix (par exemple, vi), il y a une courbe d'apprentissage, mais ça vaut le coup.

Je ne suis pas d'accord avec la suggestion d'utiliser awk à la place de grep. Cela n'a pas de sens dans mon expérience. grep est tellement génial et simple.

11
Daniel Goldman

Le livre de recettes d'expressions régulières publié par O'Rielly serait suffisant pour vous emmener partout dans n'importe quelle langue qui les utilise.

3
ixtmixilix

Les auteurs du livre sont Kernighan et Pike, le titre est quelque chose comme "The Unix Programming Environment".

Le livre que j'ai réellement appris s'appelait "Une introduction à Berkeley Unix".

3
HandyGandy

Si vous voulez en apprendre un sur ces 3 (grep, sed et awk), vous pouvez simplement apprendre awk/gawk. . awk peut faire les fonctions de grep et sed, c'est-à-dire utiliser regex pour rechercher/remplacer du texte, et bien plus encore car c'est aussi un langage de programmation. Si vous apprenez l'intérieur de gawk/awk, vous n'aurez pas besoin d'utiliser grep/sed/wc/cut etc. Un seul outil suffit.

2
user1606

À mon avis, awk est plus ou moins obsolète (cependant, d'autres soutiendront fortement cette opinion), la plupart des gens que je connais de nos jours utilisent plutôt un langage de script comme Perl ou aujourd'hui souvent python pour la manipulation de texte avancée . sed est idéal pour les tâches de manipulation de texte plus simples, je l'utilise tout le temps. Je l'ai appris principalement en regardant sed one-liners comme ceux de http://sed.sourceforge.net/sed1line.txt =. Concernant grep: Eh bien, vous voulez essentiellement avoir une bonne compréhension des expressions régulières (également nécessaires pour sed) .Je viens ici d'utiliser les manuels de texinfo.

1
fschmitt