Sed , quick & dirty tips


Copier-coller d’astuces parues sur la liste de diffusion clx@clx.asso.fr .

Remplacer .jpg par rien

Julien Soula wrote
sed 's/\.jpg$//'

Antoine Van-Elstraete wrote
sed 's#.jpg$##g'

Gaétan Ryckeboer wrote
sed "s/\\.jpg//g"

Jean-Yves LENHOF wrote
sed -e 's/\.jpg$//'

Pourquoi y a-t-il autant de façon d’utiliser sed !
C’est incroyable, non ?

un peu de syntaxe et un peu de simplification :

- le "." sans le "\" signifie qu’on "match" n’importe quel caractère donc un ".jpg" pourrait supprimer quelque chose comme "-jpg". On dit que le "\" échappe le caractère qui le suit.

- le "g" à la fin signifie qu’on applique la règle autant de fois qu’on peut sur la même ligne (c’est pourquoi l’exemple de Julien ne marche que s’il n’y a qu’un fichier par ligne)

- le "$" signifie que la règle ne s’applique qu’en fin de ligne (cf. + juste au-dessus)

- le "\" de Gaétan vient du fait qu’il a utilisé des "" (guillemets) et Jean-Yves des ’’ (apostrophes). Or les "\" sont interprétés dans les "" et "\" devient "\"

- on peut prendre n’importe quel séparateur. Par habitude, on prend "/" mais on peut tres bien utiliser "#" cf l’exemple d’Antoine.

Armé de ces réflexions, choisis ton camp ! :-)

Remplacer par bloc

- Enlever un bloc final :

echo "Version: 1.2.2rc2me4"|sed -e "s/^Version: \(.*\)/Version: cequejeveux/g"
Version: cequejeveux

Cas facile, probablement plus encore en awk .

- Enlever un bloc initial :

echo "cmn-1-0-2sv5"| sed  -e  "s/\(.*\)\([0-9]-[0-9]-[0-9]sv[0-9]*\)/\2/"
1-0-2sv5

On utilise ici les champs \1 , le premier bloc de parenthèses et \2 , le second . A noter, on peut isoler les bloc de chiffres n fois comme vu ci-dessus, ce n’est pas le but ici.

Ces deux cas utilisent les expressions régulières.
Un bon site pour débuter ? Le site du zéro


- Un bon article sur sed : Wikipedia
- ou encore Grymoire


Commentaires

Agenda

<<

2024

 

<<

Avril

>>

Aujourd’hui

LuMaMeJeVeSaDi
1234567
891011121314
15161718192021
22232425262728
2930     

Annonces

Annuaire LibreNord

Retrouvez l’annuaire de logiciels libres créé par l’association Club Linux Nord-Pas de Calais sur le site suivant http://www.librenord.org


Sur le Web

2 juin - Retour affectif amoureux immédiat. Tél: +229 6128 6208, Retour affectif immédiat gratuit, Rituel de retour affectif amoureux

2 juin - Sortilège pour rendre un Homme fou amoureux de vous. Tél:+22961286208, Retour affectif amoureux immédiat, Envoûtement amoureux rapide

2 juin - Retour affectif paiement après résultat. Tél: +229 6128 6208, Retour affectif amoureux immédiat, Retour affectif rapide en 24h

2 juin - Rituel pour faire tomber quelqu’un amoureux de toi. Tél: +22961286208, Retour affectif amoureux immédiat, Envoûtement amoureux rapide marabout

2 juin - Retour affectif marabout en France. Tél: +229 6128 6208, médium retour affectif sérieux gratuit

2 juin - Retour affectif rapide en 24h. Tél: +229 6128 6208, Retour affectif amoureux immédiat, Envoûtement d'amour rapide et efficace

2 juin - Envoûtement amoureux rapide et efficace. Tél: +229 6128 6208, médium du retour affectif amoureux immédiat

2 juin - Retour affectif immédiat gratuit, Tél: +229 6128 6208, Retour de l'être aimé en 24h gratuit

2 juin - Retour affectif amoureux immédiat, Tél: +229 6128 6208, Envoûtement amoureux rapide

1er juin - Tetra débutants

31 mai - Erreur de nommage de compte Mobilizon

31 mai - Erreur de nommage de compte

31 mai - L'instance n'est pas restaurée pendant la migration

31 mai - Incorrect request parameters: support

30 mai - Commentaires sur Khrys’presso du lundi 27 mai 2024 par Bouron

30 mai - Commentaires sur Khrys’presso du lundi 27 mai 2024 par Bouron Jean-Yves

30 mai - Message Contenu explicite ou sensible sur vidéo embed

30 mai - Question à propos de la fédération

29 mai - The player and video page layout looks distorted

29 mai - [Framalistes] Impossibilité de sélectionner la modération des messages comme option