Faire des 'ou' avec grep

Le
octane
Bonjour,

j'ai un fichier de logs, et je souhaite ne garder que quelques lignes.

Il n'y a aucun motif commun entre les lignes que je souhaite
conserver.

Comment faire un 'ou' en grep?

Je souhaite faire:
grep "table" ou "analyse" fichier_log

pour ne conserver que les lignes qui contiennent "table" et "analyse"

Merci
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Olivier Miakinen
Le #755153

Je souhaite faire:
grep "table" ou "analyse" fichier_log

pour ne conserver que les lignes qui contiennent "table" et "analyse"


egrep '(table|analyse)' fichier_log

Nicolas George
Le #755152
Olivier Miakinen wrote in message
egrep


egrep est obsolète, il vaut mieux utiliser grep -E.

Olivier Miakinen
Le #755151
Le 25/06/2007 16:12, Nicolas George m'a répondu :

egrep


egrep est obsolète, il vaut mieux utiliser grep -E.


Rhâzut ! Une commande que j'utilise depuis tout petit ! En plus, ça me
fait trois touches de plus à appuyer, dont deux simultanément... :-(

Et fgrep, c'est obsolète aussi ?

Au fait, où puis-je trouver une liste des commandes « actuelles » et des
commandes dépréciées ?


Stephane Chazelas
Le #755149
2007-06-25, 06:55(-07), :
Bonjour,

j'ai un fichier de logs, et je souhaite ne garder que quelques lignes.

Il n'y a aucun motif commun entre les lignes que je souhaite
conserver.

Comment faire un 'ou' en grep?

Je souhaite faire:
grep "table" ou "analyse" fichier_log

pour ne conserver que les lignes qui contiennent "table" et "analyse"
[...]


grep -e table -e analyse

ou

grep 'table
analyse'

ou

grep -E 'table|analyse'

ou

awk '/table/ || /analyse/'

Si tu veux les lignes qui contiennent a la fois table et
analyse:

sed '/table/!d;/analyse/!d'

ou

grep table | grep analyse

ou

awk '/table/ && /analyse/'

--
Stéphane

Stephane Chazelas
Le #754896
2007-06-25, 16:29(+02), Olivier Miakinen:
Le 25/06/2007 16:12, Nicolas George m'a répondu :

egrep


egrep est obsolète, il vaut mieux utiliser grep -E.


Rhâzut ! Une commande que j'utilise depuis tout petit ! En plus, ça me
fait trois touches de plus à appuyer, dont deux simultanément... :-(

Et fgrep, c'est obsolète aussi ?


Tout pareil. Maintenant, ca c'est si tu veux les utiliser dans
des scripts portables. Tu es libre d'utiliser egrep/fgrep au
prompt si ces commandes sont disponibles.

Au fait, où puis-je trouver une liste des commandes « actuelles » et des
commandes dépréciées ?


T'as les commandes standard (POSIX et Unix [lire XSI = Unix]) a
http://www.opengroup.org/onlinepubs/009695399/idx/utilities.html

Sinon, chaque Unix-like decide de ce qui est obsolete ou pas
chez lui. Par contre, je ne pense pas qu'aucun d'entre ne va
decreter obsolete une commande qui serait POSIX/Unix conformant.

--
Stéphane



Olivier Miakinen
Le #754895

egrep est obsolète, il vaut mieux utiliser grep -E.
Et fgrep, c'est obsolète aussi ?



Tout pareil. Maintenant, ca c'est si tu veux les utiliser dans
des scripts portables.


Oui. Pour ça il est bon de le savoir.

Tu es libre d'utiliser egrep/fgrep au
prompt si ces commandes sont disponibles.


Je me disais aussi. ;-)

De toute façon, si elles n'existent pas je peux me les redéfinir par
alias ou autrement. Je serais malheureux sans elles, exactement comme
je suis malheureux tant que je n'ai pas « alias ll="ls -l" ». ;-)

Au fait, où puis-je trouver une liste des commandes « actuelles » et des
commandes dépréciées ?


T'as les commandes standard (POSIX et Unix [lire XSI = Unix]) a
http://www.opengroup.org/onlinepubs/009695399/idx/utilities.html


Merci, c'est dans mes signets.

Sinon, chaque Unix-like decide de ce qui est obsolete ou pas
chez lui. Par contre, je ne pense pas qu'aucun d'entre ne va
decreter obsolete une commande qui serait POSIX/Unix conformant.


En effet, ce serait assez stupide de leur part.



Cyrille Lefevre
Le #754892
Olivier Miakinen wrote in message
egrep


egrep est obsolète, il vaut mieux utiliser grep -E.


sous solaris, par exemple, je te conseille egrep si ton PATH ne contient
pas /usr/xpg4/bin...

Regards, Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
remove "%nospam" and ".invalid" to answer me.


Cyrille Lefevre
Le #754891
Au fait, où puis-je trouver une liste des commandes « actuelles » et des
commandes dépréciées ?


T'as les commandes standard (POSIX et Unix [lire XSI = Unix]) a
http://www.opengroup.org/onlinepubs/009695399/idx/utilities.html


à ce propos, as-tu une idée de la définition POSIX de [[ ... ]] ?
j'ai eu beau cherché sur susv3, la seule description que j'ai pu
trouver est la suivante :

The following words may be recognized as reserved words on some
implementations (when none of the characters are quoted), causing
unspecified results:

[[

]]

function

select

Regards, Cordialement,

Cyrille Lefevre.
--
mailto:Cyrille.Lefevre-news%
supprimer "%nospam% et ".invalid" pour me repondre.
remove "%nospam" and ".invalid" to answer me.


Stephane Chazelas
Le #754889
2007-06-27, 01:37(+02), Cyrille Lefevre:
Au fait, où puis-je trouver une liste des commandes « actuelles » et des
commandes dépréciées ?


T'as les commandes standard (POSIX et Unix [lire XSI = Unix]) a
http://www.opengroup.org/onlinepubs/009695399/idx/utilities.html


à ce propos, as-tu une idée de la définition POSIX de [[ ... ]] ?
j'ai eu beau cherché sur susv3, la seule description que j'ai pu
trouver est la suivante :
[...]


[[ ... ]]

n'est pas POSIX, c'est une extension de ksh qu'ont adopté (avec
divergences) zsh et bash.

POSIX specifie la commande "test" aka "[", donc pas besoin de [[
... ]].

--
Stéphane



Nicolas George
Le #754631
Cyrille Lefevre wrote in message
sous solaris, par exemple, je te conseille egrep si ton PATH ne contient
pas /usr/xpg4/bin...


Oui, enfin, Solaris dans son ensemble est obsolète quand le PATH ne contient
pas /usr/xpg4/bin, donc bon.

Publicité
Poster une réponse
Anonyme