Sommaire

Solutions du chapitre La commande sed

1. Expressions régulières

a. Exercice 1 : insertion de balises dans un fichier

Soit le fichier dates_cours.txt :

$ cat dates_cours.txt  
unix 
28-30 jan 
17-19 juin 
18-20 nov 
 
shell 
23 mars 
15 juil 
7 sep

À l’aide de la commande sed, transformez ce fichier comme ceci :

unix 
<date>28-30 jan</date> 
<date>17-19 juin</date> 
<date>18-20 nov</date> 
 
shell 
<date>23 mars</date> 
<date>15 juil</date> 
<date>7 sep</date>

La commande sed :

$ sed ’s/ˆ[0-9].*$/<date>&<\/date>/’ dates_cours.txt 

ou :

$ sed ’s/ˆ\([0-9].*\)$/<date>\1<\/date>/’ dates_cours.txt

b. Exercice 2 : formatage de fichier

Récupérer le fichier .bash_profile. Afficher ce fichier avec la commande nl, qui numérote les lignes :

$ nl .bash_profile  
     1  # .bash_profile 
        
     2  # Get the aliases and functions 
     3  if [ -f ~/.bashrc ]; then 
     4          . ~/.bashrc 
     5  fi 
        
     6  # User specific environment and startup programs 
     7  PATH=$PATH:$HOME/bin

1.

Retirer les quatre espaces qui précèdent les numéros de ligne.

$ nl .bash_profile ...