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