IES Miguel Romero Esteo - Departamento de Informática - Linux/Unix

Bases2 / Práctica 10  

Comandos:

grep, vi, cat, sed, nl

Aplicaciones:

Enunciado:


Hacer login a la máquina virtual “deb-” del alumno con el usuario operador.


Expresiones regulares con vi

Sea el archivo /var/tmp/expr.txt que el alumno debe crear.

$ cat /var/tmp/expr.txt 
felipe         10 plaza de la concordia       91.511.11.11 
annie2         25/27 calle Victor Hugo        91.485.22.48 
fernando       20 valencia                    96.221.33.33 
cristina       avenida de la ilustración      93/455/78/52 
cris                                          98.622.33.44 
jorje          48 bravo murillo               630.22.53.48 
XincX          45 plaza de neptuno            915.45.45.78 
annie2         25 calle de Victor Hugo        910.48.22.48 
 
XristiX        35/36 calle del querol         920/54/58/45 
XarinX         Avda. de la marina             920.54.58.65

Realizar las siguientes operaciones con el editor vi (modo ex) en el archivo  /var/tmp/expr.txt

1.

Los números de teléfono que terminen en 48 deberán en adelante terminar en 50.

2.

En la línea 2, sustituya la cadena "annie2" por "annie" (sin desplazarse a la línea2).

3.

Sustituir las líneas vacías por "RAS".

4.

Sustituya todos los nombres que comiencen y terminen con la letra X por XxxxxxxX.

5.

Sustituya cada cifra al final de la línea por 0, salvo si esta cifra es igual a 8.

6.

Sustituya los "/" separadores de los números de teléfono por  ".".

7.

Los campos deberán estar separados por "|" y no por tabulaciones o espacios.

8.

Inserte un carácter "|" al principio y al final de cada línea.

Expresiones regulares con grep

Partiendo del archivo php.ini.txt

1.

Muestre las líneas que comienzan con "mysql".

2.

Muestre las líneas que terminan con "On".

3.

Muestre las líneas que terminan con "On" y que no tengan un ";" en la primera posición.

4.

Muestre las líneas que terminan en "On" (sin diferenciar mayúsculas y minúsculas).

5.

Combinando find y grep, busque en todo el arbol de directorios los archivos regulares que contengan la palabra "tr". Las cadenas "<tr>" o "</tr>"no deben ser devueltas.


Inserción de marcadores en un archivo

Sea el archivo /var/tmp/fechas_curs.txt:

$ cat /var/tmp/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> 

Formato de archivos

Copia el archivo /etc/profile al directorio $HOME del usuario operador y realiza las siguientes operaciones:

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.

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

2.

Ponga también el número de línea entre corchetes.

[1]     # .bash_profile  
    
[2]     # Get the aliases and functions  
. . .