Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
sed [Le 22/11/2024, 11:22] bcag2 [Pour conclure] |
sed [Le 23/11/2024, 17:00] (Version actuelle) 90.51.143.2 [Fin de ligne] |
||
---|---|---|---|
Ligne 103: | Ligne 103: | ||
</note> | </note> | ||
- | ===== Astuces en Vrac ===== | + | ===== Astuces en vrac ===== |
Une syntaxe intéressante peut s'avérer parfois très utile notamment pour des occurrences de type chemin de dossier **/chemin/de/fichier**. En effet la présence de caractères **/** peut poser certains problèmes. Afin de pallier cela il est possible d'utiliser une syntaxe différente que voici : | Une syntaxe intéressante peut s'avérer parfois très utile notamment pour des occurrences de type chemin de dossier **/chemin/de/fichier**. En effet la présence de caractères **/** peut poser certains problèmes. Afin de pallier cela il est possible d'utiliser une syntaxe différente que voici : | ||
Ligne 120: | Ligne 120: | ||
==== Fin de ligne ==== | ==== Fin de ligne ==== | ||
- | sed traite les lignes individuellement (l'une après l'autre), il semble donc, au premier abord, incapable de joindre deux lignes séparées par un motif comportant le retour chariot (\n). Heureusement cette difficulté n'est qu'apparente : il suffit de lui indiquer de traiter les deux lignes. | + | sed traite les lignes individuellement (l'une après l'autre), il semble donc, au premier abord, incapable de joindre deux lignes séparées par un motif comportant le retour-charriot (\n). Heureusement cette difficulté n'est qu'apparente : il suffit de lui indiquer de traiter les deux lignes. |
Exemple : joindre à la ligne précédente chaque ligne commençant par un espace (soit substituer un espace simple aux deux caractères saut de ligne puis espace) | Exemple : joindre à la ligne précédente chaque ligne commençant par un espace (soit substituer un espace simple aux deux caractères saut de ligne puis espace) | ||
<code bash>sed 'N;s/\n / /g;P;D;' fichier</code> | <code bash>sed 'N;s/\n / /g;P;D;' fichier</code> | ||
Ligne 133: | Ligne 133: | ||
aux heureux utilisateurs de cette distribution. | aux heureux utilisateurs de cette distribution. | ||
</file> | </file> | ||
- | deviens : | + | devient : |
<file> | <file> | ||
Aujourd'hui Ubuntu est incontestablement un beau succès. | Aujourd'hui Ubuntu est incontestablement un beau succès. | ||
Ligne 140: | Ligne 140: | ||
</file> | </file> | ||
- | Et pour finir la commande à saisir pour transformer les fins de lignes DOS (\r\n] en fins de ligne UNIX (\n) : | + | Et pour finir la commande à saisir pour transformer les fins de ligne DOS (\r\n] en fins de ligne UNIX (\n) : |
<code bash> | <code bash> | ||
sed 's/^M$//' fichier | sed 's/^M$//' fichier |