Commande unix/linux
Résolu/Fermé
A voir également:
- Commande unix/linux
- Invite de commande - Guide
- Commande terminal mac - Guide
- Linux mint 32 bits - Télécharger - Systèmes d'exploitation
- Diskinternals linux reader - Télécharger - Stockage
- Commande dism - Guide
2 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 897
8 déc. 2008 à 10:33
8 déc. 2008 à 10:33
Salut,
jp@MDK:~ ssh$ cat fichier Je suis très ancienne, plus ancienne que l'ancienne qui était déjà très ancienne. En tant qu'ancienne, et présidente des anciennes élèves, je suis l'ancienne. L'ancienne, ancienne, très ancienne et même ancienne. jp@MDK:~ ssh$ sed 's/\(.*\)ancienne\(.*ancienne\)/\1nouvelle\2/' fichier Je suis très ancienne, plus ancienne que l'nouvelle qui était déjà très ancienne. En tant qu'ancienne, et présidente des nouvelles élèves, je suis l'ancienne. L'ancienne, ancienne, très nouvelle et même ancienne. jp@MDK:~ ssh$;-)
8 déc. 2008 à 10:45
8 déc. 2008 à 11:34
SVP
8 déc. 2008 à 12:17
Commande de substitution et son délimiteur /
\(.*\)
Sous-expression (la 1ère) matchant le motif représenté à l'intérieur des parenthèses. Ici le .* englobe un maximum de caractères, en fait jusqu'à ce qu'il rencontre le motif suivant en étant le plus gourmand possible.
ancienne
Motif à remplacer.
\(.*ancienne\)
Seconde sous-expression, matchant le dernier motif sur la ligne contenant "ancienne" et tout ce qui le précède.
/
Délimiteur de la commande "s" de substitution entre le motif à substituer et la chaine de remplacement.
\1
Référence arrière, correspondant à la 1ère sous-expression. Donc on demande à remettre tout ce qui lui correspond
nouvelle
Le motif de remplacement à substituer à "ancienne"
\2
Référence arrière, correspondant à la 2ème sous-expression.
/
Délimiteur de fin
Pour reprendre en exemple la 1ère ligne du fichier "fichier" de l'exemple, la 1ère sous expression correspond à :
Je suis très ancienne, plus ancienne que l'
suivie du motif "ancienne" :
ancienne
et pour finir la 2nd sous-expression correspond à (avec l'espace devant y compris) :
qui était déjà très ancienne.
;-))