#1 Le 21/10/2020, à 23:20
- Mehdouch
Expressions régulières - avec sed
Bonjour tout le monde,
Je me renseigne sur les expressions régulières que je peux utiliser avec la commande sed. Je crois comprendre que le point (.) est une ER d'un seul caractère correspondant à n'importe quel caractère sauf le saut de ligne.
Est ce qu'il y aurait une ER qui correspond à absolument tous les caractères même les sauts de lignes ?
Merci d'avance pour votre aide si précieuse ![]()
Hors ligne
#2 Le 22/10/2020, à 06:04
- Watael

Re : Expressions régulières - avec sed
non. pourquoi ?
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 22/10/2020, à 06:37
- pingouinux

Re : Expressions régulières - avec sed
Bonjour,
sed sert surtout au traitement des fichiers ligne par ligne.
Tu peux traiter '\n' comme un caractère normal si tu regroupes d'abord toutes les lignes en une seule.
Par exemple :
$ cat f
ligne n° 1
ligne n° 2
ligne n° 3
ligne n° 4
ligne n° 5
$ sed -n ':a;$!{N;ba};s/3.l/trois point l/;p' f
ligne n° 1
ligne n° 2
ligne n° trois point ligne n° 4
ligne n° 5python serait mieux adapté à ce que tu veux faire.
Hors ligne
#4 Le 22/10/2020, à 18:11
- Hizoka

Re : Expressions régulières - avec sed
@pingouinux : tu peux expliquer :a;$!{N;ba}; stp ?
Kubuntu 20.04 64bits
GUI d'extraction de piste de fichier mkv -- Vignettes personnalisées -- Select boosté aux hormones -- Générateur de barre de progression
Hors ligne
#5 Le 22/10/2020, à 18:25
- pingouinux

Re : Expressions régulières - avec sed
tu peux expliquer :a;$!{N;ba}; stp ?
:a : c'est une adresse
$! : toutes les lignes sauf la dernière
N : lecture de la ligne suivante, qui est ajoutée à celles déjà lues
ba : on retourne inconditionnellement à l'adresse :a
C'est comme si on avait une seule ligne constituée de toutes les lignes séparées par '\n'. Et on exécute la suite de la comande lorsqu'on a lu la dernière ligne.
Hors ligne
#6 Le 22/10/2020, à 19:05
- Hizoka

Re : Expressions régulières - avec sed
Merci, j'ai pas tout compris mais tant que je sais comment l'utiliser... ![]()
Kubuntu 20.04 64bits
GUI d'extraction de piste de fichier mkv -- Vignettes personnalisées -- Select boosté aux hormones -- Générateur de barre de progression
Hors ligne
#7 Le 22/10/2020, à 19:35
- Watael

Re : Expressions régulières - avec sed
sed -z 's/3.l/trois points l/' fichier
ligne n° 1
ligne n° 2
ligne n° trois points ligne n° 4
ligne n° 5kiss![]()
Dernière modification par Watael (Le 22/10/2020, à 19:37)
Welcome to sHell. · eval is evil.
Hors ligne
#8 Le 22/10/2020, à 20:00
- pingouinux

Re : Expressions régulières - avec sed
Merci Watael, je ne connaissais pas cette option.
Hors ligne
#9 Le 23/10/2020, à 03:19
- Mehdouch
Re : Expressions régulières - avec sed
Merci Watael et pingouinux.. C'est fort ![]()
Hors ligne
#10 Le 23/10/2020, à 08:03
- Hizoka

Re : Expressions régulières - avec sed
@Watael : Merci, c'est plus simple ![]()
@Mehdouch : Ajoute un [Résolu] dans le titre de ton 1er message si c'est bon
Kubuntu 20.04 64bits
GUI d'extraction de piste de fichier mkv -- Vignettes personnalisées -- Select boosté aux hormones -- Générateur de barre de progression
Hors ligne