J’ai l’expression régulière suivante qui fonctionne dans sed mais je veux conserver une valeur. Je veux conserver la valeur du texte d’ancrage. Dans ce cas, il s’agit d’un 3. En ce moment, le résultat ci-dessous afficherait [] partout où il y a une balise d’ancrage avec href avec un signe dièse. Je veux que ce soit [3] au lieu de []. Le nombre est dynamic, donc dans ce cas, il est de 3 mais il sera différent à chaque fois. Quoi qu’il en soit, pour obtenir ce nombre et le rappeler ensuite dans l’expression régulière?
echo '3' | sed 's:[0-9]:[]:g'
Vous devez utiliser des crochets de capture et une référence arrière.
Les crochets de capture ne sont que des parenthèses sur la partie du motif que vous souhaitez conserver. Vous pouvez ensuite les rappeler dans le remplacement en utilisant \1
(pour le premier ensemble de parenthèses), \2
, etc.
echo '3' | sed -r 's:Filtrer les fichiers avec des extensions de fichier spécifiques à l’aide d’une expression régulièreAjouter un préfixe à tous les liens multimédias dans un fichier HTML Problème mineur avec SED et les variables Comment supprimer des lignes ayant un texte spécifique en utilisant la commande sed? Bash: repositionner la sous-chaîne dans une chaîne Sed, remplacement dynamic des références arrière Séquences d’échappement regex sockets en charge dans grep sed trouver et remplacer fastq regex Qu’est-ce qui ne va pas avec mon Perl Regex Comment utiliser gsub dans awk pour rechercher et remplacer (“./”) et (“.txt”) des caractères dans un fichier