/ / Expression simple mais insaisissable - regex, grep

Expression simple mais insaisissable - regex, grep

Je me sens même timide de poser cette question ici, mais cela prenait déjà plus de temps qu'il ne le devrait.

Disons que j'ai ces quatre fichiers:

IPCDR_ARB06067956VPLUS_T_201103
IPCDR_ARB06067957VPLUS_T_201103
IPCDR_MOV_ARB06067959VPLUS_T_20110
MOV_CDRARB06067959VPLUS_T_201103

Je veux grep seulement pour ceux qui commencent par IPCDR_MOV et MOV_CDR.

La première chose à faire était:

ls -1 | grep "^IPCDR_MOV|^MOV_CDR"

mais n'a pas fonctionné.

J'ai fait beaucoup de tests stupides (avec lesquels je ne vous dérangerai pas) et rien ne sort. Quelqu'un peut-il me sortir de ma douleur, s'il vous plaît?

Merci!

Réponses:

2 pour la réponse № 1

Ajouter le -E commutateur pour utiliser regex étendu.

$ ls -1 | grep -E "^IPCDR_MOV|^MOV_CDR"
IPCDR_MOV_ARB06067959VPLUS_T_20110
MOV_CDRARB06067959VPLUS_T_201103

0 pour la réponse № 2

Utilisation egrep au lieu de grep. Sinon, c’est une chaîne littérale au lieu d’un motif.