logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste [31/07/2014 19:52]
Hypathie [Les rapports d'implication options de sed <=> commandes de sed]
utilisateurs:hypathie:tutos:sed-par-la-methode-structuraliste [13/11/2014 09:31] (Version actuelle)
Hypathie [sed par la méthode structuraliste]
Ligne 11: Ligne 11:
 Michel Foucault Michel Foucault
  
 +
 +===Références===
 +
 +  * Illustration de man sed : [[http://​www.scotchlinux.tuxfamily.org/​doc/​sed.php]]
 +  * Exemples d'​utilisation : [[http://​www.system-linux.eu/​index.php?​post/​2008/​12/​21/​La-commande-Sed]]
 =====Introduction ===== =====Introduction =====
  
Ligne 357: Ligne 362:
  
 >Pour ajouter une ligne vide en deuxième ligne avec la commande (a), il faut ajouter au moins un caractère, ici, "​espace"​. >Pour ajouter une ligne vide en deuxième ligne avec la commande (a), il faut ajouter au moins un caractère, ici, "​espace"​.
->Pour désigner une ligne précises ​aux commandes qui suivent __une commande d'​ajout__ de ligne, il peut être plus simple d'​utiliser l'​adressage par d'encadrement (par exemple ici, ''​ /​^mon/,​$s/​^/​ / '',​ ou ''​ 2,$s/^/ / ''​).+>Pour désigner une ligne précise ​aux commandes qui suivent __une commande d'​ajout__ de ligne, il peut être plus simple d'​utiliser l'​adressage par encadrement (par exemple ici, ''​ /​^mon/,​$s/​^/​ / '',​ ou ''​ 2,$s/^/ / ''​).
  
 ===Utiliser conjointement i et a === ===Utiliser conjointement i et a ===
Ligne 372: Ligne 377:
 </​code>​ </​code>​
  
-On aurait pu utiliser ​utiliser la ligne de commande qui suit, pour obtenir le même résultat.+On aurait pu utiliser la ligne de commande qui suit, pour obtenir le même résultat.
 <code user> <code user>
 sed -e '​1i\Ton sentiment comme atmosphère'​\ sed -e '​1i\Ton sentiment comme atmosphère'​\
Ligne 410: Ligne 415:
 <note important>​ <note important>​
 Attention !\\ Attention !\\
-  + 
-Si on utilise __plusieurs commandes d'​ajout__,​ la charge de la mémoire tampon est si importantes+Si on utilise __plusieurs commandes d'​ajout__,​ la charge de la mémoire tampon est si importante
 que sed se réfère à la numérotation des lignes du __fichier d'​origine__ ​ pour l'​adressage par numéro de ligne __de toutes les commandes__!\\ ​ que sed se réfère à la numérotation des lignes du __fichier d'​origine__ ​ pour l'​adressage par numéro de ligne __de toutes les commandes__!\\ ​
  
Ligne 591: Ligne 596:
 </​code>​ </​code>​
  
->Le caractère # commande ​la ligne.+>Le caractère # commente ​la ligne.
  
 ===Lancer le script avec l'​option -i === ===Lancer le script avec l'​option -i ===
Ligne 945: Ligne 950:
 On connaît donc le nombre de ligne(s) sautée(s) en faisant toujours ''​m - 1''​. ​ On connaît donc le nombre de ligne(s) sautée(s) en faisant toujours ''​m - 1''​. ​
  
-Et si ''​n''​ est égal à zéro, ''​n''​ devient la position ordinale 1 du fichier ​en plus l'​adressage de début. Donc la //E.R.// sélectionne toutes les ''​m''​ièmes lignes à partir de la ligne ''​n'',​ et saute m - 1 ligne(s).+Et si ''​n''​ est égal à zéro, ''​n''​ devient la position ordinale 1 du fichier, ainsi que l'​adressage de début. Donc la //E.R.// sélectionne toutes les ''​m''​ièmes lignes à partir de la ligne ''​n'',​ et saute m - 1 ligne(s).
  
   * ''​1 ~ 2''​ : sélection des lignes impaires : 1ière, 3ième, 5ième, etc.\\ En effet, de la première ligne du fichier jusqu'​à ''​m'',​ il y a 1 (m = 2 et 2 - 1 =1).\\ Il sera sauté 1 ligne (non-sélectionnée) et cela à partir de la ligne n°1 (n = 1 = la position ordinale).\\ Donc sélection de la première ligne, saut d'une ligne, sélection de la 3ième ligne, saut 1 ligne, etc.   * ''​1 ~ 2''​ : sélection des lignes impaires : 1ière, 3ième, 5ième, etc.\\ En effet, de la première ligne du fichier jusqu'​à ''​m'',​ il y a 1 (m = 2 et 2 - 1 =1).\\ Il sera sauté 1 ligne (non-sélectionnée) et cela à partir de la ligne n°1 (n = 1 = la position ordinale).\\ Donc sélection de la première ligne, saut d'une ligne, sélection de la 3ième ligne, saut 1 ligne, etc.
Ligne 1043: Ligne 1048:
  
 ==== # : Commentaire (Aucune adresse autorisée)==== ==== # : Commentaire (Aucune adresse autorisée)====
-Le caractère ​''​#''​ (dièse) commence un commentaire et ce jusqu'​à la fin de la ligne.\\  +Le caractère ​dièse ( # ) commence un commentaire et ce jusqu'​à la fin de la ligne.\\  
-Dans un script sed, il peut se trouver sur la même ligne qu'une commande, elle ne sera prise pour un commantaire.\\ +Dans un script sed, il peut se trouver sur la même ligne qu'une commande, elle ne sera pas prise pour un commentaire.\\ 
 Si les deux premiers caractères d'un script sed sont "#​n",​ l'​option "​-n"​ (no-autoprint) est alors forcée. Si les deux premiers caractères d'un script sed sont "#​n",​ l'​option "​-n"​ (no-autoprint) est alors forcée.
  
Ligne 1067: Ligne 1072:
  
 > Dans ce cas, sed affiche de la ligne 4 à la ligne 5.  > Dans ce cas, sed affiche de la ligne 4 à la ligne 5. 
-> Puis la commande d supprime tout sauf les lignes ​de p et la ligne traitée par d.+> Puis la commande d supprime tout sauf les lignes ​traitées par p et d.
  
 ===Utilisation de la commande ''​q''​=== ===Utilisation de la commande ''​q''​===
Ligne 1087: Ligne 1092:
  
 > Dans ce cas, la commande q adresse les 6 premières lignes dans la mémoire principale de sed, qui peut alors les utiliser une fois, donc pour une seule commande après q. > Dans ce cas, la commande q adresse les 6 premières lignes dans la mémoire principale de sed, qui peut alors les utiliser une fois, donc pour une seule commande après q.
-> En effet, si l'​adressage de la commande suivante "​déborde"​ de celui de la commande q, alors sed affiche la ligne que la commande q a adressé ​à la mémoire principale.+> En effet, si l'​adressage de la commande suivante "​déborde"​ de celui de la commande q, alors sed affiche la ligne que la commande q a adressée ​à la mémoire principale.
  
 <​code>​ <​code>​
Ligne 1164: Ligne 1169:
  
 Il ne doit y avoir qu'un seul espace entre la commande et le nom du "​fichier lu"​.\\ ​ Il ne doit y avoir qu'un seul espace entre la commande et le nom du "​fichier lu"​.\\ ​
-Il faut donner le chemin absolu du "​fichier lu" +Il faut donner le chemin absolu du "​fichier lu" si le terminal ne se trouve ​pas dans le répertoire parent de ce "​fichier lu".
- si le terminal ne se trouve dans le répertoire parent de ce "​fichier lu".+
 ===Préparation=== ===Préparation===
   * soit le fichier "​sed-fich-lu.txt"​ :   * soit le fichier "​sed-fich-lu.txt"​ :
utilisateurs/hypathie/tutos/sed-par-la-methode-structuraliste.1406829154.txt.gz · Dernière modification: 31/07/2014 19:52 par Hypathie

Pied de page des forums

Propulsé par FluxBB