Commande GREP
Bonjour,
J'essaye de trouver les programmes dans lesquels j'ai des lignes de code avec des positions exemple :
Move NOM-FICHIER(12:45) TO WK-VARIABLE.
donc par exemple recherchée est (??:??).
J'essaye d'utiliser la commande grep mais ça me paraît un peu compliqué de faire la correspondance.
Pourriez-vous m'aider SVP ?
J'essaye de trouver les programmes dans lesquels j'ai des lignes de code avec des positions exemple :
Move NOM-FICHIER(12:45) TO WK-VARIABLE.
donc par exemple recherchée est (??:??).
J'essaye d'utiliser la commande grep mais ça me paraît un peu compliqué de faire la correspondance.
Pourriez-vous m'aider SVP ?
1 réponse
-
ContributeurSalut,
Merci de poster un exemple de ton fichier de départ et ce que tu veux trouver !
-
-
Contributeur@le_demandeurBen justement, merci de fournir quelques exemples concrets de ces dites chaînes de caractère ;-\
-
-
Contributeur@le_demandeur
grep -l -- '-[[:alpha:]]\+([[:digit:]]\+:[[:digit:]]\+)' *
devrait faire le job, si toutefois, toutes les chaînes de caractères sont bien conformes aux exemples donnés.
Si récursivité souhaité, rajouter "-r"
PS. C'est un ELLE minuscule dansgrep -l
et non pas un UN. -
la commande ne m'a rien retourné.
Tout a l'heure j'ai essayé avec :
grep '(' * | grep ':' | grep ')'
mais ça me retourne même des lignes qui correspondent pas à mon besoin :
01 WS-ENREG PIC X(4000).
01 XL-LONGUEUR-FA PIC 9(00005) VALUE 04000.
01 XL-LONGUEUR-FB PIC 9(00005) VALUE 04000.
MOVE FE-ENREG(1:XZ-LONGUEUR-FA) TO WS-ENREG.
IF FE-ENREG(248:1) NOT = 'L'
IF FE-ENREG(554:5) = 'ADERE'
-