TUTOS.EU

Supprimer tout ce qui est à gauche d'une série de caractères avec SED

Vous êtes sous Linux.
Imaginez que vous avez un fichier de log et que vous voulez supprimer tout ce qui est à gauche d'un mot.
On peut le faire avec sed

Pour l'exemple ci-dessous on regarde les 200 dernières lignes de /var/log/messages et on supprime tout ce qui est à gauche de 'le mot'

tail -200 /var/log/messages | sed 's/.*\(le mot\)//g'
Lien vers le fichier : cliquez ici Copier le code

Au niveau de la commande sed, on lui a dit globalement : recherche moi cela et efface le.
Ici on lui à dit :
.* : prend tous les caractères
\ (le mot\ ) : jusqu'à tomber sur 'le mot'

 

et efface le tout.

 

Au cas où j'ai trouvé des petites exemples sur theunixschool.com et cela a bien aidé


2