[Linux] sed grep ou awk - remplace ment de chaine de caracteres
Daniel Huhardeaux
daniel.huhardeaux@::1
Ven 18 Oct 17:57:26 CEST 2024
sed -E '/Terek4:/,$s/(enabled:).*/\1 false/' config.yml
règle le problème de la duplication, reste le pourquoi enabled: après
birdseye: est également traité
Le 18/10/2024 à 17:30, Daniel Huhardeaux a écrit :
>
>
> 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/e952c79d/attachment-0001.htm>
Plus d'informations sur la liste de diffusion linux