Comando cut

14
PROF. PABLO MACÓN HTTP://SOII-ITS.BLOGSPOT.COM [email protected] CUT

description

comando cut linux

Transcript of Comando cut

Page 1: Comando cut

PROF. PABLO MACÓNHTTP://SOII-

[email protected]

CUT

Page 2: Comando cut

REGISTROS Y CAMPOS

•Un registro (ya lo vimos) es una fila en una base de datos• Imaginemos nuestra base de datos de una biblioteca:

Page 3: Comando cut

REGISTROS Y CAMPOS

•Tendríamos una tabla libros• ISBN (IDENTIFICADOR ÚNICO)• TITULO• AUTOR• EDITORIAL• AÑO DE PUBLICACION

Page 4: Comando cut

REGISTROS Y CAMPOS•En GNU/LINUX nosotros ya hemos trabajado con este tipo de archivos, en general utilizamos un modelo así:• ISBN:Título:Autor:Editorial:Año•Separamos los campos (columnas) con el símbolo “:”

Page 5: Comando cut

REGISTROS Y CAMPOS• Entonces un archivo con la tabla libros se vería así si lo mostráramos en pantalla:

• 978-3-16-148410-0:Rayuela:Cortazar,Julio:Sudamericana:1963• 978-2-45-123444-8:El Aleph:Borges,Jorge Luis:Planeta:1949

• En mySQL haríamos una sentencia SELECT para traer un registro:• SELECT * FROM libros WHERE ISBN = 978-3-16-

148410-0

Page 6: Comando cut

GREP• La clase pasada vimos que nosotros en LINUX tenemos el filtro grep para hacer un select•Grep nos trae toda la línea que coincide con el patrón de búsqueda• grep 978-3-16-148410-0 libros

Page 7: Comando cut

GREP• O todos los libros de Cortázar:• grep –i Cortazar libros

Ahora bien, la biblioteca presta esos mismos libros a usuarios que están en otra tablacédula:apellido:nombre:fechaNacimiento:dirección:teléfono

Page 8: Comando cut

GREP• para realizar un préstamo, nosotros necesitamos crear una tabla que relacione estas otras dos, que nos guarde cédula del usuario, ISBN del libro, fecha préstamo, fecha devolución y un booleano devuelto que nos indique precisamente si el usuario devolvió el libro.

Page 9: Comando cut

GREP•entonces de las tablas anteriores nosotros no queremos que nos devuelta todo el registro, toda la fila sino una de las columnas•grep no nos sirve para eso

Page 10: Comando cut

CUT•El comando cut se usa para cortar campos seleccionados de cada línea de un archivo. Utiliza delimitadores para determinar dónde dividir los campos.•Sintaxis: • cut <-opciones> archivo

Page 11: Comando cut

CUT• Opciones:• f (número de campo) el primero a la

izquierda es el campo -f1, el segundo –f2, etc.• d (carácter delimitador) puede ser

cualquier cadena• Los más utilizados• :• ;• espacio

Page 12: Comando cut

CUT•Ejemplos:• cut -f1 -d: libros• cut -f1 -d: /etc/passwd • grep -i <usuario> /etc/passwd | cut -f1 -d: • variable= ̔grep –i pablo.macon /etc/passwd | cut -f6 -d:ʽ• echo “el home del usuario es: $variable”

Page 13: Comando cut

CUT•Ejemplos: en el caso de los libros cómo haríamos para crear un registro en la tabla prestamos?•Primero, sabiendo el apellido y nombre del usuario haríamos:•usuario= ̔grep -i macon usuarios | grep -i Pablo |cut -d: -f1ʽ

Page 14: Comando cut

CUT• Ejemplos: en el caso de los libros cómo

haríamos para crear un registro en la tabla prestamos?• entrega=`date +%d/%m/%y`• retorno=`date –d “5 days” +%d/%m%y`• devuelto=false• echo $libro:$usuario:$entrega:$retorno:

$devuelto >> prestamos