#1 Le 04/12/2018, à 19:21
- DonneDuRhum
[RESOLU] Sed - Remplacer un mot par un autre à tel ligne
Bonjour,
Je parcours le forum afin de résoudre mon problème. Mais pour l'instant, j'ai récolté des briques.
Voilà le problème; à la ligne 791 du fichier item_lists.cpp je dois remplacer le mot abs par le mot fabs
Donc cette ligne
if (force || (last_mod_time && abs(last_mod_time - SDL_GetTicks()) > 5000))
Deviendrait
if (force || (last_mod_time && fabs(last_mod_time - SDL_GetTicks()) > 5000))
Avec toutes les informations que j'ai récolté, j'ai sorti ça comme ligne de commande :
sed 791s/.*abs.*/fabs/ ~/client_sources/item_lists.cpp
Mais ce n'est pas bon.:(
Merci pour votre aide
Dernière modification par DonneDuRhum (Le 04/12/2018, à 19:47)
PC msi gt72vr 6re
Hors ligne
#2 Le 04/12/2018, à 19:32
- cqfd93
Re : [RESOLU] Sed - Remplacer un mot par un autre à tel ligne
Bonjour,
Essaye :
sed -i '791s/abs/fabs/' ~/client_sources/item_lists.cpp
− cqfd93 −
Hors ligne
#3 Le 04/12/2018, à 19:33
- pingouinux
Re : [RESOLU] Sed - Remplacer un mot par un autre à tel ligne
Bonsoir,
C'est parce que tu remplaces toute la ligne par fabs.
sed '791s/\babs\b/fabs/' ~/client_sources/item_lists.cpp
Hors ligne
#4 Le 04/12/2018, à 19:47
- DonneDuRhum
Re : [RESOLU] Sed - Remplacer un mot par un autre à tel ligne
Super,
Merci Cqfd et Pingouinux
J'ai utilisé la ligne de Cqfd, mais je suppose que celle de Pingouinux est semblable. La syntaxe est compliqué dans Sed.
PC msi gt72vr 6re
Hors ligne
#5 Le 04/12/2018, à 20:04
- pingouinux
Re : [RESOLU] Sed - Remplacer un mot par un autre à tel ligne
La commande de cqfd93 modifie directement le fichier d'origine, contrairement à la mienne. Je m'assure aussi de ne remplacer abs que si c'est un mot (et non pas absolu, par exemple).
Hors ligne
#6 Le 04/12/2018, à 21:17
- moko138
Re : [RESOLU] Sed - Remplacer un mot par un autre à tel ligne
Je ne sais pas comment vous faites, cqfd93 et pingouinux pour comprendre la syntaxe de sed.
J'ai lu dix fois le man et je n'y comprends toujours rien...
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#7 Le 04/12/2018, à 21:26
- pingouinux
Re : [RESOLU] Sed - Remplacer un mot par un autre à tel ligne
@moko138 #6 :
En ce qui me concerne, des années de pratique, de l'acharnement quand ça résiste, et surtout l'examen des exemples donnés par les autres, sur ce forum notamment.
Hors ligne
#8 Le 04/12/2018, à 22:11
- moko138
Re : [RESOLU] Sed - Remplacer un mot par un autre à tel ligne
@moko138 #6 :
En ce qui me concerne, des années de pratique, de l'acharnement quand ça résiste, et surtout l'examen des exemples donnés par les autres, sur ce forum notamment.
OK, merci ! Rendez-vous le 4/12/2023 (j'aurai glissed des anti-sed dans mes chaussed).
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#9 Le 04/12/2018, à 22:30
- metalux
Re : [RESOLU] Sed - Remplacer un mot par un autre à tel ligne
@moko138
Bonsoir,
Il y a de bons tutos sur le net pour débuter, je pense principalement à ceux d'openclassrooms et de CCM, une fois compris le principe tu peux déjà faire des choses assez intéressantes même avec les commandes les plus basiques.
Hors ligne
#10 Le 04/12/2018, à 22:36
- moko138
Re : [RESOLU] Sed - Remplacer un mot par un autre à tel ligne
Ok, Merci !
%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel : À la découverte de dcraw
Hors ligne
#11 Le 05/12/2018, à 00:53
- cqfd93
Re : [RESOLU] Sed - Remplacer un mot par un autre à tel ligne
Je ne sais pas comment vous faites, cqfd93 et pingouinux pour comprendre la syntaxe de sed.
J'ai lu dix fois le man et je n'y comprends toujours rien...
Moi aussi j'ai lu le man et je n'y ai rien compris, mais j'écume beaucoup le net dès que j'ai un problème que je pense pouvoir résoudre avec sed et j'expérimente. Ça rentre petit à petit mais je suis loin de tout comprendre ni savoir !
− cqfd93 −
Hors ligne