Flux rss

Sed - Trucs et astuces

Bookmark Ajouter aux favoris / Partager
Dernière mise à jour le 11 janvier 2009 à 19:27 par Ssylvainsab
Publié par jipicy


Substitution

  • Substituer "foo" par "bar" à chaque ligne
    • Seulement la 1ère occurrence
      • sed 's/foo/bar/'
    • Seulement la 3ème occurrence
      • sed 's/foo/bar/3'
    • Toutes les occurrences
      • sed 's/foo/bar/g'
    • Seulement l'avant dernière occurrence
      • sed 's/\(.*\)foo\(.*foo\)/\1bar\2/'
    • Seulement la dernière occurrence
      • sed 's/\(.*\)foo/\1bar/'
    • Substituer "foo" par "bar" seulement les lignes contenant "plop"
      • sed '/plop/ s/foo/bar/g'
    • Substituer "foo" par "bar" excepté les lignes contenant "plop"
      • sed '/plop/! s/foo/bar/g'
    • Substituer "Foo" ou "foo" par "bar" à chaque ligne
      • sed 's/[Ff]oo/bar/g'
    • Substituer "bleu" ou "blanc" ou "rouge" par "vert"
      • sed 's/bleu\|blanc\|rouge/vert/g'

Affichage

  • La 1ère ligne (head -1)
    • sed q
  • Les 5 premières lignes (head -5)
    • sed '5q'
    • sed '1,5!d'
  • La dernière ligne (tail -1)
    • sed -n '$p'
    • sed '$!d"
  • Les 5 dernières lignes (tail -5)
    • sed -e :a -e '$q;N;6,$D;ba'
  • Les 2 dernières lignes (tail -2)
    • sed '$!N;$!D'
  • Seulement les lignes matchant un motif ou une expression régulière
    • sed -n '/motif/p'
    • sed '/regexp/!d'
  • Seulement les lignes ne matchant pas un motif ou une expression régulière
    • sed -n '/motif/!p'
    • sed '/regexp/d'
  • La ligne précédent un motif ou une expression régulière
    • sed -n '/motif/{g;1!p;};h'
  • La ligne suivant un motif ou une expression régulière
    • sed -n '/regexp/{n;p;}'

Suppression


Espace et tabulation

  • Éliminer les espaces et tabulations
    • En début de ligne
      • sed 's/^[ \t]*//
      • sed 's/^\s*//'				# Utilisation du paramètre "\s"
    • En fin de ligne
      • sed 's/[ \t]*$//'
    • En début et fin de ligne
      • sed 's/^[ \t]*//;s/[ \t]*$//'

Ligne vide

  • Éliminer les lignes vides
    • Toutes les lignes vides
      • sed '/^$/d'
      • sed '/./!d'
    • Uniquement celles d'en tête
      • sed '/./,$!d'
      • sed -nr '/./,$s/(.*)/\1/p'		# merci Adrien
    • Uniquement celles de fin
      • sed -e :a -e '/^\n*$/ {$d;N;ba' -e '}'

Intervalle régulier

  • Éliminer une ligne à intervalles réguliers
    • Toutes les lignes paires
      • sed '1~2d'
    • Toutes les lignes impaires
      • sed '2~2d'
    • Toutes les n lignes à partir de la ligne n
      • sed '3~2d'				# Toutes les 2 lignes à partir de la ligne 3

Divers


Joindre des lignes

  • Joindre les lignes 2 par 2
    • sed '$!N;s/\n//'
  • Joindre les lignes 3 par 3
    • sed '$!N;s/\n//;$!N;s/\n//;'
  • Si une ligne se termine par un backslash (\), ajouter la ligne suivante et remplacer la fin de ligne (\n) par un espace
    • sed -e :a -e '/\\$/N; s/\\\n/ /; ta'
  • Si une ligne commence par un signe égale (=), ajouter-là à la ligne précédente et remplacer le signe égale (=) par un espace
    • sed -e :a -e '$!N;s/\n=/ /;ta' -e 'P;D'

Affichage insensible à la casse


(Afficher uniquement les lignes correspondant à un motif donné avec insensibilité à la casse)

Cette astuce fait suite à cette discussion sur le forum Linux/Unix

La commande "sed" possède bien un "flag" - voir Sed - Introduction à SED - Part I - permettant de mettre en correspondance un motif sans tenir compte de la casse, mais ce flag ne s'applique qu'à la seule commande de substitution (commande s) malheureusement.

Voilà donc une astuce permettant de se servir de ce flag pour afficher (ou au contraire ne pas afficher) des lignes correspondant à un motif donné sans tenir compte de sa casse.
Il suffit pour cela d'employer la commande de substitution "s" combinée au métacaractère "&" et bien sur du flag "I".

Exemple pour n'afficher que les lignes contenant le terme "motif" (ou Motif, MOTIF, mOtIf, MoTiF, etc)
  • sed -n 's/motif/&/Ip' fichier



À compléter...
Msn truc et astuce (Résolu) salut, est ce que quelqu'un aurait des adresses pour télécharger des trucs et astuces pour msn 7.5? merci www.commentcamarche.net/forum/affich-2283148-msn-truc-et-astuce
Télécharger «Astuces» en intégralité Si vous voulez consulter les "Trucs & Astuces" de Comment ça marche sans connexion internet, vous pouvez télécharger l'archive complète. Instructions Téléchargez: http://sebsauvage.net/temp/ccmfaq/ccmfaq.zip (Attention: Taille supérieure à... www.commentcamarche.net/faq/sujet-5216-telecharger-astuces-en-integralite
Trucs et astuces pour MSN MessengerPour commencer je vous propose ce site qui contient tout ce qu’il faut (logiciels, plug-in, etc…) pour rendre MSN plus agréable : Version 7.5 minimum requise avec Messenger Plus ! 1- Colorer votre PSEUDO 2- Colorer votre MESSAGE... www.commentcamarche.net/faq/sujet-3272-trucs-et-astuces-pour-msn-messenger
Sed - Supprimer une ou plusieurs lignes d'un fichierSupprimer une (ou plusieurs) ligne(s) d'un fichier Syntaxe sed '{[/]||[/]}d' sed '{[/][,][/]d' /.../ = délimiteurs n = le numéro de ligne chaîne = la chaîne contenue dans la... www.commentcamarche.net/faq/sujet-4839-sed-supprimer-une-ou-plusieurs-lignes-d-un-fichier
Sed - SubstitutionSubstitution Substitution basique Simple Globale Ciblée Substitution conditionnée Simplee Avancée Bloc Avancéé Substitution basique Simple - 1ère occurrence (de chaque ligne) rencontrée uniquement sed 's/la/LA/'... www.commentcamarche.net/faq/sujet-5588-sed-substitution
Ajouter des trucs speciaux sur pseudo msn (Résolu)Slt , Jvoudrais vous demandez si kelkun sais comment ont ajoute des trucs speciaux sur le pseudo de msn , par exemple ma copine a mit des ronds colorés mais ne me veux pas expliqué car c la seul donc voila , si kelkun sais comment faire ou a un bon... www.commentcamarche.net/forum/affich-3881990-ajouter-des-trucs-speciaux-sur-pseudo-msn
[SIMS 2 - Nintendo DS] Des trucs et aide =D (Résolu)Bonjours j'ai fini le jeu SIMS 2 sur DS alors je vx vous donner quelques truc et demander moi de l'aide... je suis la pour sa =D www.commentcamarche.net/forum/affich-3081123-sims-2-nintendo-ds-des-trucs-et-aide-d
Astuce megavideo illimiteBonjour,j ai essaye toutes les astuces pour voir des films illimites sur megavideo avant ca marche(les ++,illimitux etc) maintenant plus rien ne marche si quelqu un aurait une autre astuce ki marche ce serait simpa de me la donner arebattu@yahoo.fr... www.commentcamarche.net/forum/affich-13037663-astuce-megavideo-illimite
Euro Truck SimulatorGenre:Simulation, Description:Euro Truck Simulator is a simulation of truck driving set in continental Europe. The player can drive across a realistic depiction of Europe, visiting its beautiful cities, picking up a variety of cargo and delivering... www.commentcamarche.net/guide/1131889-euro-truck-simulator