L'utilisation de grep pour de multiples motifs de recherche

Considérer que j'ai la suite de flux de données:

BODY1
attrib1:  someval11
attrib2:  someval12
attrib3:  someval13

BODY2
attrib1:  someval21
attrib2:  someval22
attrib3:  someval23

BODY3
attrib1:  someval31
attrib2:  someval32
attrib3:  someval33

Je veux extraire seulement attrib1 et attrib3 pour chaque CORPS, c'est à dire

attrib1:  someval11
attrib3:  someval13
attrib1:  someval21
attrib3:  someval23
attrib1:  someval31
attrib3:  someval33

J'ai essayé

grep 'attrib1\|attrib3', selon ce site mais qui n'a rien retourné. grep attrib1 et grep attrib2 faire renvoyer des données, mais juste pour le seul motif spécifié.

Non pas qu'elle n'en résout votre problème, mais il peut être plus facile à suivre et plus rapide pour grep pour trouver si votre regex est attrib[13]. Faire la partie commune à plus long est généralement mieux.
que faire si il n'y avait pas commong modèle entre attrib 1 et 3? si elles étaient nommées quelque chose completelty différents?
dans l'exemple réel, mon attrib1 est appelé foo et attrib3 est appelé à la barre...
Puis le attrib[13] astuce ne marchera pas.
Je ne comprends pas -- est-il pour être grep? axiom a montré comment le faire, mais pourquoi ne pas simplement utiliser awk? Suis-je le seul qui trouve qu'il est plus simple pour ce genre de tâches?

OriginalL'auteur amphibient | 2012-11-28