[Linux] sed grep ou awk - remplace ment de chaine de caracteres
Daniel Huhardeaux
daniel.huhardeaux@::1
Ven 18 Oct 17:30:25 CEST 2024
Le 18/10/2024 à 17:05, Marc Chantreux a écrit :
> sed -E '/Repere:/,$s/(^ *commande: )truc1/\1trucWOW/ ' <<%
Non, pas tout à fait. Exemple concret:
go2rtc:
ffmpeg:
mycodec: -codec:v libx264 -g:v 1 -preset:v superfast -tune:v
zerolatency -profile:v
main -level:v 4.1
streams:
Tere4:
ffmpeg:http://user:pwd@192.168.1.161/videostream.cgi?rate=11#video=mycodec
camera:
Terek4:
enabled: true
ffmpeg:
inputs:
- path: rtsp://localhost:8554/Terek4
input_args: preset-rtsp-restream
roles:
- detect
- rtmp
- record
detect:
width: 2560
height: 1920
objects:
track:
- person
birdseye:
enabled: true
order: 10
Je veux changer le true en false afin d'obtenir
Terek4:
enabled: false
sed -E ' /Terek4:/,$s/(^ *enabled: )/\1\ false/' config.yml
mais j'obtiens
Terek4:
enabled: falsefalse
et aussi plus loin
birdseye:
enabled: falsefalse
order: 10
En clair: il ne remplace pas mais rajoute et ne s'arrête pas après
l'opération puisque le enabled suivant (et je suppose les autres) est
également traité alors qu'ils ne sont pas précédés du Repère, ici Terek4
Encore un petit effort, tu es sur la bonne voie ;) Merci pour ce début
de solution.
--
Daniel
-------------- section suivante --------------
Une pièce jointe HTML a été nettoyée...
URL: <https://strasbourg.linuxfr.org/pipermail/linux/attachments/20241018/e301e047/attachment.htm>
Plus d'informations sur la liste de diffusion linux