Índice

Soluciones del capítulo El comando sed

1. Expresiones regulares

a. Ejercicio 1: inserción de marcadores en un archivo

Sea el archivo fechas_curs.txt:

$ cat fechas_curs.txt 
unix 
28-30 ene 
17-19 jun 
18-20 nov 
 
shell 
23 mar 
15 jul 
7 sep

Empleando el comando sed, transforme este archivo de la siguiente forma:

unix 
<date>28-30 ene</date> 
<date>17-19 jun</date> 
<date>18-20 nov</date> 
 
 
shell 
<date>23 mar</date>  
<date>15 jul</date>  
<date>7 sep</date> 

El comando sed:

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

o

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

b. Ejercicio 2: formato de archivos

Tome el archivo .bash_profile. Muestre el archivo con el comando nl, que numera las líneas:

$ 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.

Elimine los espacios que preceden a los números de línea.

$ nl .bash_profile | sed ’s/ˆ images/symbol.pngimages/symbol.pngimages/symbol.pngimages/symbol.png//’ 

o

$ nl .bash_profile ...