's/([[:upper:]]*)tr([[:upper:]]+)|([[:upper:]]+)tr([[:upper:]]*)/\1TR\2/g' c'est logique il vérifie si il y a 0,1, ou plusieurs lettres MAJ devant le 'tr' et au moins une lettre MAJ après ou si il y a au moins une lettre MAJ avant le 'tr', et si il y a 0,1, ou plusieurs lettres MAJ après ce sed peut fonctionner sur des gros fichiers sans problème. Le 22/06/2016 à 10:51, andre_debian@numericable.fr a écrit :
On Tuesday 21 June 2016 23:34:53 Pierre Faivre wrote:oui, c'est ce que je croyais avoir compris, donc pour modifier directement le fichier : $sed -Ei 's/([[:upper:]]*)tr([[:upper:]]+)|([[:upper:]]+)tr([[:upper:]]*)/\1TR\2/g' fichierMerci, ça marche bien. Mais pourquoi tous ces "upper", la commande peut-elle modifier tous les mots concernés d'un texte sans limite ? André