Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Faire des 'ou' avec grep

11 réponses
Avatar
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

10 réponses

1 2
Avatar
Olivier Miakinen

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

Avatar
Nicolas George
Olivier Miakinen wrote in message :
egrep


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

Avatar
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 ?

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


Avatar
Stephane Chazelas
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

Avatar
Stephane Chazelas
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



Avatar
Olivier Miakinen

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.



Avatar
Cyrille Lefevre
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.


Avatar
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 :

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.


Avatar
Stephane Chazelas
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



Avatar
Nicolas George
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.

1 2