#1 Le 12/12/2024, à 08:00
- bjc49
[Résolu!]Syntaxe sed et utilisation reference arrière
Bonjour,
Soit le fichier
0 @N8291@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r2175prkijuk/f237?context=ead2::FRAD053_2NUM200_Q_SAINTB_RM_de-1090&
1 CONC locale=fr
0 @N8292@ NOTE Parents de l'époux absents mais consentants par acte notarié Me Vio
1 CONC lette notaire à Cormeilles-en-Parisis
0 @N8293@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r37297o9vujk/f65?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_de-9
1 CONC 45&locale=fr
0 @N8294@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r2176bs70d5k/f53?context=ead2::FRAD053_2NUM200_Q_SAINTB_RM_de-1091&l
1 CONC ocale=fr
0 @N8295@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r2855d7cjmjk/f18?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_de-9
1 CONC 46&locale=fr
0 @N8296@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r17240j4eobk/f113?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_de-
1 CONC 949&locale=fr
0 @N8297@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r2176bs70d5k/f224?context=ead2::FRAD053_2NUM200_Q_SAINTB_RM_de-1091&
1 CONC locale=fr
0 @N8298@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r27027eqo83k/f23?context=ead4::FRAD053_2NUM204_RM_de-3941&locale=fr
0 @N8299@ NOTE Recensement 1846 St-Brice(53) 2 enfants :
1 CONT Charles 18 mois
1 CONT Joséphine 5 mois
1 CONT Source : https://archives.lamayenne.fr/archives-en-ligne/ark:/37963/r270
1 CONC 27eqo83k/f23?context=ead4::FRAD053_2NUM204_RM_de-3941&locale=fr
1 CONT
1 CONT Recensement 1851 St-Brice (53) 3 enfants
1 CONT Jean-Charles 6 ans
1 CONT Joséphine 5 ans
1 CONT Marie 1 an
1 CONT Source : https://archives.lamayenne.fr/archives-en-ligne/ark:/37963/r270
1 CONC 28w467qk/f18?context=ead4::FRAD053_2NUM204_RM_de-3942&locale=fr
1 CONT
0 @N8300@ NOTE 12 enfants :
1 CONT Source Geneanet pseudo kate161 : https://gw.geneanet.org/kate161?lang=fr
1 CONC &iz=2&p=jean+jacques&n=billiard
0 @N8301@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r27028w467qk/f26?context=ead4::FRAD053_2NUM204_RM_de-3942&locale=fr
0 @N8302@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r27028w467qk/f18?context=ead4::FRAD053_2NUM204_RM_de-3942&locale=fr
0 @N8303@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r27029wuv2mk/f11?context=ead4::FRAD053_2NUM204_RM_de-3943&locale=fr
0 @N8304@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r27030n0qvtk/f12?context=ead4::FRAD053_2NUM204_RM_de-3944&locale=fr
0 @N8305@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r3725ls4tsok/f144?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_de-
1 CONC 941&locale=fr
0 @N8306@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r2175prkijuk/f200?context=ead2::FRAD053_2NUM200_Q_SAINTB_RM_de-1090&
1 CONC locale=fr
0 @N8307@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r2175prkijuk/f201?context=ead2::FRAD053_2NUM200_Q_SAINTB_RM_de-1090&
1 CONC locale=fr
0 @N8308@ NOTE Garde national mobile
1 CONT Campagne 1870-1871
1 CONT Infirmier
1 CONT Employé chemin de fer de l'Ouest entre 20/8/187 et 3/11/1884
1 CONT Source AD 53 recherche nominative
1 CONT R1269/1 - Bigot - 133 Vue 36/136
1 CONT https://archives.lamayenne.fr/archives-en-ligne/ark:/37963/r28425na9f9k/
1 CONC f36?context=militaire::530056222&locale=fr
1 CONT
0 @N8309@ NOTE Garde national mobile
1 CONT Appelé 1870
1 CONT 14/10/1870 au 21/10/1871 27eme chasseur a pieds
1 CONT Caporal
1 CONT Campagne 1870-1871
1 CONT Intérieur 1871
1 CONT Afrique 1871
1 CONT Décédé 29/8/1872
1 CONT Source
1 CONT AD 53 Recherche nominative
1 CONT R1269/1 - Bigot - 906 Vue 107/136
1 CONT https://archives.lamayenne.fr/archives-en-ligne/ark:/37963/r28425na9f9k/
1 CONC f107?context=militaire::530056587&locale=fr
0 @N8310@ NOTE https://archives.lamayenne.fr/archives-en-ligne/ark:/37963/r692255z
1 CONC mrp07k/f25?context=ead::FRAD053_2NUM099_RM_de-189&locale=fr
0 @N8311@ NOTE Permalien : https://archives.sarthe.fr/ark:13339/s005875e78cbba9b/5
1 CONC 8c25cf5cdb27.fiche=arko_fiche_6304c600ee736.moteur=arko_default_6319dbb9
1 CONC a1c43
0 @N8312@ NOTE Permalien https://archives.lamayenne.fr/archives-en-ligne/ark:/3796
1 CONC 3/r700222z60731k/f182?context=ead2::FRAD053_2NUM200_B_RM_de-1418&locale=
1 CONC fr
0 @N8313@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r393953zjjjl7k/f132?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_d
1 CONC e-951&locale=fr
0 @N8314@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r1772v8ebrrk/f64?context=ead2::FRAD053_2NUM200_B_RM_de-1426&locale=f
1 CONC r
0 @N8315@ NOTE Consentante
0 @N8316@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r710766zx6m23k/f208?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_d
1 CONC e-942&locale=fr
0 @N8317@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r710766zx6m23k/f187?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_d
1 CONC e-942&locale=fr
0 @N8318@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r710766zx6m23k/f167?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_d
1 CONC e-942&locale=fr
0 @N8319@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r710766zx6m23k/f163?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_d
1 CONC e-942&locale=fr
0 @N8320@ NOTE Fils du défunt
0 @N8321@ NOTE Gendre du défunt
0 @N8322@ NOTE !!!Le prêtre a écrit pour nom de la mère du défunt FORGET alors qu'
1 CONC il s'agirait de ROGER!!!
0 @N8323@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r710776zrbbc9k/f105?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_d
1 CONC e-936&locale=fr
0 @N8324@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r6027nugncrk/f15?context=ead2::FRAD053_2NUM200_B_RM_de-1396&locale=f
1 CONC r
0 @N8325@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r710776zrbbc9k/f130?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_d
1 CONC e-936&locale=fr
0 @N8326@ NOTE Permalien : https://archives.sarthe.fr/ark:13339/s005875e7c89d244/5
1 CONC 8c71cf6890ac.fiche=arko_fiche_6305cdf21a3d9.moteur=arko_default_6319dbb9
1 CONC a1c43
0 @N8327@ NOTE Permalien : https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r710766zx6m23k/f217?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_d
1 CONC e-942&locale=fr
0 @N8328@ NOTE Gendre de la défunte
0 @N8329@ NOTE Permalien : https://archives.sarthe.fr/ark:13339/s005875e7c89d244/5
1 CONC 8c71cf65d1ce.fiche=arko_fiche_6305cdf21a3d9.moteur=arko_default_6319dbb9
1 CONC a1c43
0 @N8330@ NOTE Permalien : https://archives.sarthe.fr/ark:13339/s005875e7c89b21c/5
1 CONC 8c4835c6e146.fiche=arko_fiche_6305cdf215124.moteur=arko_default_6319dbb9
1 CONC a1c43
0 @N8331@ NOTE Permalien : https://archives.sarthe.fr/ark:13339/s005875e7c89d244/
Je souhaiterais remplacer toutes les urls par un glyphe qui pointait vers la source
Le glyphe que je souhaiterais utilisé un livre de couleur rouge dont le code est 📕
J'ai plus ou moins réussi a le faire avec les éditeur kate et kwrite
Les motifs que j'ai utilisés
Chercher : https?:\/\/[a-zA-Z0-9\/:%_+-.,#?!@&=-]+(\n(1 CONC )[a-zA-Z0-9\/:%_+-.,#?!@&=-]+)*
Remplacer : <a href="\0" target="_blank">📕</a>
N'étant pas un expert en expressions régulières il y a peut être mieux
Je cherche vainement a faire cette opération en ligne de commande avec sed et la notion de réferences arrière
Mais je n'y arrive pas
Quelle syntaxe serait fonctionnelle
Merci
Dernière modification par bjc49 (Le 13/12/2024, à 15:50)
OS :KDE Neon 6.2 -Version de KDE Plasma : 6.2.3 -HP EliteDesk 800 G4 DM 35W
DDR4 16Go--Proc: Intel core I5 8500T --SSD 1To Nvme--UHD Graphics 630 --Écran:IIyama Prolite B2209HDS
Webcam : Logitech QuickCam Communicate STX --Imprimante : HL 1430--Scanner : Epson Perfection V330
Hors ligne
#2 Le 12/12/2024, à 08:40
- Watael
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
quel est l'objectif de la commande que tu veux mettre en place ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#3 Le 12/12/2024, à 09:08
- bjc49
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
Bonjour,
L'objectif de la commande serait de reproduire ce que j'arrive a faire avec kwrite
Remplacer dans le fichier texte fourni toutes les longues urls correspondants au motif :
https?:\/\/[a-zA-Z0-9\/:%_+-.,#?!@&=-]+(\n(1 CONC )[a-zA-Z0-9\/:%_+-.,#?!@&=-]+)*
Par un simple Glyphe dont le code est 📕 qui pointerait vers les dites urls
Le fichier est un extrait d'un fichier de généalogie (gedcom) qui si il était importé dans l'état initial
dans le site Geneanet serait "envahies de ces longues urls ce qui n'est pas trés esthétique
Le but est d'arrivé a ce genre de présentation :
https://gw.geneanet.org/bjc49?lang=fr&n … ul+gustave
OS :KDE Neon 6.2 -Version de KDE Plasma : 6.2.3 -HP EliteDesk 800 G4 DM 35W
DDR4 16Go--Proc: Intel core I5 8500T --SSD 1To Nvme--UHD Graphics 630 --Écran:IIyama Prolite B2209HDS
Webcam : Logitech QuickCam Communicate STX --Imprimante : HL 1430--Scanner : Epson Perfection V330
Hors ligne
#4 Le 12/12/2024, à 09:08
- xubu1957
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
Conseils pour les nouveaux demandeurs et pas qu'eux
Important : Pensez à passer vos sujets en [Réso|u] lorsque ceux-ci le sont, au début du titre en cliquant sur Modifier sous le premier message, et un bref récapitulatif de la solution à la fin de celui-ci. Merci. Membre de Linux-Azur
Hors ligne
#5 Le 12/12/2024, à 09:26
- Watael
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
je me suis mal exprimé peut-être.
pour un enregistrement ('permalien') donné, quel doit être le résultat ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#6 Le 12/12/2024, à 15:54
- bjc49
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
Ce post a été émis et résolu par moi même en utilisant l'éditeur kwrite (alors que jusqu’à maintenant j'utilisais kate) pluma fonctionne également.
Ce sont donc des interfaces graphiques
Donc je me tournais maintenant vers la ligne de commande avec sed et je n'arrive pas a écrire la commande adéquate
@Watael
je me suis mal exprimé peut-être.
pour un enregistrement ('permalien') donné, quel doit être le résultat ?
Transformer toutes url du type (quelques milliers)
https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r17240j4eobk/f104?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_de-
1 CONC 949&locale=fr
en
<a href="https://archives.lamayenne.fr/archives-en-ligne/ark:/37
1 CONC 963/r17240j4eobk/f104?context=ead2::FRAD053_2NUM200_SAINTG_SAINTL_RM_de-
1 CONC 949&locale=fr" target="_blank">📕</a>
Le but étant aprés export du fichier ainsi modifié de ne plus voir les liens mais seulement le glyphe commun qui pointera malgré tout sur la bonne ressource
Dernière modification par bjc49 (Le 12/12/2024, à 16:01)
OS :KDE Neon 6.2 -Version de KDE Plasma : 6.2.3 -HP EliteDesk 800 G4 DM 35W
DDR4 16Go--Proc: Intel core I5 8500T --SSD 1To Nvme--UHD Graphics 630 --Écran:IIyama Prolite B2209HDS
Webcam : Logitech QuickCam Communicate STX --Imprimante : HL 1430--Scanner : Epson Perfection V330
Hors ligne
#7 Le 12/12/2024, à 22:46
- pingouinux
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
Bonsoir,
Tu peux essayer ceci :
sed -rz 's@(https://[^\n]+(\n1 CONC [^\n]+)+)@<a href="\1" target="_blank">\📕</a>@g' fichier_original >fichier_modifie
Modifié : petite simplification
Dernière modification par pingouinux (Le 12/12/2024, à 22:52)
Hors ligne
#8 Le 12/12/2024, à 23:50
- Watael
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
su per !
je ne suis pas sûr que toutes les adresses soient sur trois lignes, peut-être que, plutôt que d'indiquer l'obligation d'existence du motif (+), il serait préférable d'indiquer la présence possible (*), non ?
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#9 Le 13/12/2024, à 08:36
- bjc49
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
Bonjour,
@pingouinux
J'ai lancé cette commande dans un terminal
Pas de message d'erreur et a fait le travail
Un petit oubli de part il n'y a pas que des urls https quelques http subsistent qui ne sont donc pas traitées
@Watael a raison : les adresses ne font pas obligatoirement trois lignes contrairement a l'extrait du fichier que j'ai fourni quelques une sont plus courtes
J'ai du mal a interprété la commande ou faudrait il donc remplacer le + par *
Quel qu’il en soit c'est super! avec cette seule commande quelques milliers d'url traitées pour une meilleures lisibilité de mes fiches généalogiques
Merci beaucoup
OS :KDE Neon 6.2 -Version de KDE Plasma : 6.2.3 -HP EliteDesk 800 G4 DM 35W
DDR4 16Go--Proc: Intel core I5 8500T --SSD 1To Nvme--UHD Graphics 630 --Écran:IIyama Prolite B2209HDS
Webcam : Logitech QuickCam Communicate STX --Imprimante : HL 1430--Scanner : Epson Perfection V330
Hors ligne
#10 Le 13/12/2024, à 11:19
- pingouinux
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
Voici la commande modifiée, qui devrait aussi traiter les http:. Les adresses suivies par zéro ou plus cartes débutant par 1 CONC seront traitées aussI.
sed -rz 's@(https?://[^\n]+(\n1 CONC [^\n]+)*)@<a href="\1" target="_blank">\📕</a>@g' fichier_original >fichier_modifie
Dernière modification par pingouinux (Le 13/12/2024, à 11:21)
Hors ligne
#11 Le 13/12/2024, à 15:48
- bjc49
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
Super
Cela fonctionne pour les "http" et pour les "https" quelque soit le nombre lignes
Je vais me garder précieusement cette commande
Pas simple quand même ces expressions régulières !!
Merci encore
OS :KDE Neon 6.2 -Version de KDE Plasma : 6.2.3 -HP EliteDesk 800 G4 DM 35W
DDR4 16Go--Proc: Intel core I5 8500T --SSD 1To Nvme--UHD Graphics 630 --Écran:IIyama Prolite B2209HDS
Webcam : Logitech QuickCam Communicate STX --Imprimante : HL 1430--Scanner : Epson Perfection V330
Hors ligne
#12 Le 13/12/2024, à 17:21
- RaphaelG
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
Ca, c'est de la commande sed de la mort qui tue !
Mais pour les gros nuls comme moi, cela mériterait quelques commentaires alors je me permets de poser quelques questions :
1) Quel est le rôle de l'option -z ?
Le man est plutôt laconique : separate lines by NUL characters
Pouvez vous m'en dire un peu plus.
2) Je ne savais pas que dans les opérations de substitution, le traditionnel slash (/) pouvait être remplacé par un A commercial (@). Apparemment, il permet de ne pas avoir à échapper les slashes. Il y a t'il d'autres différences ?
3) J'aime bien, dans mes scripts de ne pas avoir des lignes de plus de 80 caractères.
Peut on dispatcher une substitution sur plusieurs lignes ? (l'équivalent de l'anti slash en fin de ligne pour les shells)
J'ai essayé avec l'anti slash, sans succès.
Hors ligne
#13 Le 13/12/2024, à 17:54
- Watael
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
1) Quel est le rôle de l'option -z ?
Le man est plutôt laconique : separate lines by NUL characters
ça permet de traiter un motif réparti sur plusieurs lignes.
2) Je ne savais pas que dans les opérations de substitution, le traditionnel slash (/) pouvait être remplacé par un A commercial (@). Apparemment, il permet de ne pas avoir à échapper les slashes. Il y a t'il d'autres différences ?
aucune
pas que des @, n'importe quel caractère d'un seul octet (donc pas µ par exemple) qui n'apparaît pas dans le motif de recherche peut être utilisé, ou alors il faudra aussi l'y protéger ^^
pas que dans les substitutions, dans les intervalles et les motifs de recherche, mais alors, il faut les protéger :
sed -n '\%fooBar%p' fichier
ou
sed -n '\%foo%,\%bar%p' fichier
3) J'aime bien, dans mes scripts de ne pas avoir des lignes de plus de 80 caractères.
Peut on dispatcher une substitution sur plusieurs lignes ? (l'équivalent de l'anti slash en fin de ligne pour les shells)
J'ai essayé avec l'anti slash, sans succès.
autant que je sache non, tout caractère introduit dans une expression est pris comme tel.
une expression par ligne, donc, et si l'expression fait 320 caractères, t'es dans le k a k a pour la relire.
! en passant par un wrapper shell, tu pourrais raccourcir la longueur de l'expression en la morcelant dans des variables avec des noms courts :
#!bin/sh
x1='bla.........................................bla'
x2='tra........................................lala'
x3='etc......................................cetera'
rip='remplacement ... ... longue ... ... expression'
sed 's/'"$x1$x2$x3"'/'"$rip"'/' fichier
Connected \o/
Welcome to sHell. · eval is evil.
Hors ligne
#14 Le 13/12/2024, à 19:36
- RaphaelG
Re : [Résolu!]Syntaxe sed et utilisation reference arrière
Merci Watael.
Hors ligne