Bonjour,
Je souhaite modifier le fichier ci-dessous et ajouter dans la ligne condition avant le /1 /6 et /4 le trigramme TST afin d'avoir un résultat de cette manière tout en gardant le contenu du fichier :
VariableXXXXTST/1
Auriez-vous une idée svp ?
Test.txt =
Extrait 1
Definiton : insert-ligne
Condition = machine/dev
Descritption : définition ligne
Extrait 2 :
Definiton 2 : insert-
Condition = machine-dev. OODEF VariableXXXX/1
Descritption : définition ligne
Extrait 3 :
Definiton 1 : insert-ligne
Condition = machine/dev. Traitementligne/6
Descritption : définition traitement
Extrait 4 :
Definiton 1 : isuppression
Condition = machine.ksh VariableX25XXX/4
Descritption : définition ligne
# try this ...
Posté par totof2000 . Évalué à 3.
https://sed.js.org/
[^] # Re: try this ...
Posté par totof2000 . Évalué à 2. Dernière modification le 07 juillet 2023 à 02:00.
Résultat:
Si tu veux modifier directement le fichier, tu utilises sed -i (mais personnellement j'évite. Je ne le fais que si le résultat sans option -i correspond à ce que je veux). Sinon en général je vais un mv du fichier source vers un fichier sauvegardé puis un sed > fichier source.
[^] # Re: try this ...
Posté par MicP . Évalué à 3. Dernière modification le 07 juillet 2023 à 10:27.
Bonjour
On peut faire les deux en même temps avec sed
et ajouter une extension qui servira à renommer la copie du fichier original :
ou bien, en utilisant cette même option
mais sous sa forme raccourcie :
[^] # Re: try this ...
Posté par totof2000 . Évalué à 2.
Est-ce une extension GNU ? Toujours bon à savoir quand on navigue entre Linux et xBSD et qu'on a pas forcément envie de se rendre dépendant d'un outil GNU.
[^] # Re: try this ...
Posté par MicP . Évalué à 1.
Je ne sais pas.
On parle de cette option dans ce fil de discussion :
stackoverflow.com -> sed in-place flag that works both on Mac (BSD) and Linux
[^] # Re: try this ...
Posté par Cyril Brulebois (site web personnel) . Évalué à 2.
Recherche web : « opengroup sed » → #1
Debian Consultant @ DEBAMAX
# comme ça
Posté par cd9 . Évalué à 1.
[^] # Re: comme ça
Posté par cd9 . Évalué à 1.
ou
sed '/^Condition.*\/[1-9][1-9]*$/s/\/[1-9][1-9]*$/TST&/'
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.