Comando cut

Post on 07-Jun-2015

154 views 1 download

description

comando cut linux

Transcript of Comando cut

PROF. PABLO MACÓNHTTP://SOII-

ITS.BLOGSPOT.COMPABLOMACON@GMAIL.COM

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:

REGISTROS Y CAMPOS

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

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 “:”

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

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

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

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.

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

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

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

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”

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ʽ

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