unidad 5: standard io and pipe

55
Unidad 5: Standard IO and Pipe Capítulo 1: Entrada estándar y salida estándar

Upload: jermaine-alford

Post on 04-Jan-2016

24 views

Category:

Documents


0 download

DESCRIPTION

Unidad 5: Standard IO and Pipe. Capítulo 1: Entrada estándar y salida estándar. Tres tipos de programas. Programas gráficos: diseñados para ejecutarse en el entorno gráfico X. Utilizan mouse y teclado - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Unidad 5: Standard IO and Pipe

Unidad 5: Standard IO and Pipe

Capítulo 1: Entrada estándar y salida estándar

Page 2: Unidad 5: Standard IO and Pipe

Programas gráficos: diseñados para ejecutarse en el entorno gráfico X. Utilizan mouse y teclado

Programas de pantalla: utilizar una consola de texto. No necesitan ratón y son apropiados para terminales y consolas virtuales.

Programas de terminal: suelen llamarse simplemente comandos.

Tres tipos de programas

Page 3: Unidad 5: Standard IO and Pipe

El flujo de entrada se conoce como entrada estándar (suele abreviarse stdin) y el flujo de salida se conoce como salida estándar (o en forma abreviada stdout).

Por lo general, stdin y stdout están conectadas a la terminal que ejecuta el comando.

Entrada estándar (stdin) y salida estándar (stdout)

Page 4: Unidad 5: Standard IO and Pipe

La shell bash usa > para redirigir un flujo de stdout de proceso a un archivo.

Para agregar una salida de un comando a un archivo, en lugar de sobrescribirlo, bash usa >>.

bash usa < para hacer que lean entradas desde alguna parte diferente al teclado

Redirección de stdin y stdout

Page 5: Unidad 5: Standard IO and Pipe

Al abrir un archivo linux mantiene un registro y les asigna un número llamado descriptor de archivos

Cada proceso tiene un subdirectorio asociado bajo /proc llamado como su PID

El subdirectorio del proceso a su vez tiene un subdirectorio llamado fd que contiene existe un enlace simbólico para cada archivo abierto por el proceso

Archivos abiertos y descriptores de archivos

Page 6: Unidad 5: Standard IO and Pipe

Archivos abiertos y descriptores de archivos

Page 7: Unidad 5: Standard IO and Pipe

Archivos abiertos y descriptores de archivos

Page 8: Unidad 5: Standard IO and Pipe

Capítulo 2Error estándar

Page 9: Unidad 5: Standard IO and Pipe

Así como bash usa > para redirigir lastdout, bash usa 2> para redirigir elstderr.◦ head -1 /etc/rc.d/* 2> rcsummary.err

Tanto > como 2> se utilizan para redirigir stdout y stderr de modo independiente.◦ head -1 /etc/rc.d/* > rcsummary.out 2>

rcsummary.err

Error estándar (stderr)

Page 10: Unidad 5: Standard IO and Pipe

Si queremos enviar ambas salidas se podría pensar los siguiente◦head -1 /etc/rc.d/* > rcsummary.both 2>

rcsummary.both Modo Antiguo

◦head -1 /etc/rc.d/* > rcsummary.both 2>&1 Modo Nuevo

◦head -1 /etc/rc.d/* >& rcsummary.both

Combinación de stdout y stderr

Page 11: Unidad 5: Standard IO and Pipe

Resumen stdin,stdout, stderr

Page 12: Unidad 5: Standard IO and Pipe

Capítulo 3Tuberías

Page 13: Unidad 5: Standard IO and Pipe

Cadena de procesos conectados de forma tal que la salida de cada elemento de la cadena es la entrada del próximo.

Cuando dos comandos se unen por medio de una tubería, el flujo de stdout del primer proceso es ligado directamente a la secuencia stdin del segundo proceso para que múltiples procesos puedan combinarse en una secuencia.

Los comandos se unen con una barra vertical A todos los procesos unidos en una tubería se

les llama un grupo de proceso

Tuberías

Page 14: Unidad 5: Standard IO and Pipe

Tuberías

Page 15: Unidad 5: Standard IO and Pipe

Filtro de salida con grep

Page 16: Unidad 5: Standard IO and Pipe

Unidad 6: String Processing Tools

Capítulo 1: Conteo de palabras y codificación de texto

Page 17: Unidad 5: Standard IO and Pipe

La codificación de caracteres es el método que permite convertir un carácter de un lenguaje natural (alfabeto o silabario) en un símbolo de otro sistema de representación, como un número o una secuencia de pulsos eléctricos en un sistema electrónico, aplicando normas o reglas de codificación.

Codificación de caracteres

Page 18: Unidad 5: Standard IO and Pipe

Técnica para codificar texto Toma los signos del alfabeto español e Ingles,

junto con algunos símbolos y le asigna una correspondencia numérica entre 0 y 255

ASCII

Page 19: Unidad 5: Standard IO and Pipe

Escribe por salida estándar la primera parte de un archivo. Su sintaxis es como sigue: ◦ head [opción...] [archivo...]

head

Page 20: Unidad 5: Standard IO and Pipe

El comando tail escribe a la salida estándar la última parte de un archivo. Su sintaxis es:◦ tail [opción...] [archivo...]

tail

Page 21: Unidad 5: Standard IO and Pipe

El comando wc cuenta el número de caracteres, palabras y líneas. Tomará su entrada ya sea de archivos llamados en su línea de comandos o desde su entrada estándar.◦wc [opción...] [Filename...]

El comando wc (Conteo de palabras)

Page 22: Unidad 5: Standard IO and Pipe

Recuerde que parte de la codificación de caracteres también incluye la codificación de caracteres “No Imprimibles”

El comando wc

Page 23: Unidad 5: Standard IO and Pipe

Unidad 6: String Processing Tools

Capítulo 2: Búsqueda de Texto: grep

Page 24: Unidad 5: Standard IO and Pipe

El nombre grep representa en inglés general regular expression parser.

Búsqueda Con Grep

Page 25: Unidad 5: Standard IO and Pipe

fgrep: Hace una búsqueda rápida de patrones simples. Utilice este comando para localizar rápidamente patrones sin caracteres comodines, útil para buscar una palabra común.

grep: Búsqueda de patrones con expresiones regulares comunes.

egrep: Búsqueda de patrones con expresiones regulares extendidas de gran alcance.

Búsqueda Con Grep

Page 26: Unidad 5: Standard IO and Pipe

Búsqueda Con Grep

Page 27: Unidad 5: Standard IO and Pipe

Existen ocasiones en las que las tuberías no funcionan, ya que el resultado del comando no puede ser utilizado en el comando siguiente

Xarg

Page 28: Unidad 5: Standard IO and Pipe

Unidad 6: String Processing Tools

Capítulo 3: Introducción a las expresiones regulares

Page 29: Unidad 5: Standard IO and Pipe

Expresiones Regulares

A menudo se le llama patrón, es una expresión que describe un conjunto de cadenas sin enumerar sus elementos.

Por ejemplo, el grupo formado por las cadenas Handel, Händel y Haendel se describe mediante el patrón "H[aäae]ndel".

Page 30: Unidad 5: Standard IO and Pipe

¿Qué compone una expresión regular?

Caracteres literales: coinciden únicamente con ellos mismos. Las letras, dígitos y la mayoría de los caracteres son ejemplos de caracteres literales. Se diferencia las mayúsculas y minusculas.

Comodines: Los caracteres comodines coinciden con cualquier caracter. Dentro de una expresión, un punto (“.”) coincide con cualquier caracter, ya sea un espacio, una letra, un dígito, puntuación, cualquier cosa.

Page 31: Unidad 5: Standard IO and Pipe

¿Qué compone una expresión regular?

Modificadores: Un modificador altera el significado del caracter patrón precedente inmediato. Por ejemplo, la expresión “ab*c” coincide con cadenas de texto “ac”, “abc”, “abbc”, “abbbc”

Anclas: Las anclas establecen el contexto para el patrón tal como "el comienzo de una línea" o "el final de una palabra". Por ejemplo, la expresión “cat” coincidiría con cualquier ocurrencia de las tres letras mientras que “^cat” sólo coincidirían con las líneas que comienzan por “cat”.

Page 32: Unidad 5: Standard IO and Pipe

Comodines

comodín "punto“:El caracter “.” se utiliza como un marcador para coincidir con algún carácter

.

intervalo de caracteres literales: Una expresión de paréntesis es un intervalo de literales encerrados entre paréntesis cuadrados (“[” y “]”). Si el primer caracter de una expresión entre paréntesis es “^”, la interpretación se invierte y la expresión entre paréntesis coincidirá con cualquier ocurrencia de un caracter no incluido en el intervalo.

Page 33: Unidad 5: Standard IO and Pipe

Comodines

intervalo de caracteres literales

Page 34: Unidad 5: Standard IO and Pipe

Caracteres modificadores comunes

b?: El signo de interrogación final (“?”) significa “uno o ninguno”: el caracter literal se considera como opcional en el texto examinado.

b*:El modificador asterisco (“*”) significa “cualquier número (incluyendo cero)” del caracter literal precedente.

b+:El modificador más (“+”) significa “uno o más”, por lo tanto el patrón regex “b+” coincide con una secuencia de no-espacio vacío de b.

Page 35: Unidad 5: Standard IO and Pipe

Caracteres modificadores comunes

b{m,n}:El modificador de paréntesis se utiliza para especificar un intervalo entre las ocurrencias m y n del caracter precedente.

b{n}:Con sólo un número entero, el modificador de paréntesis se utiliza para especificar exactamente n ocurrencias para el caracter precedente.

Page 36: Unidad 5: Standard IO and Pipe

Caracteres modificadores comunes

Page 37: Unidad 5: Standard IO and Pipe

Búsquedas de anclaje

^foo:Un acento circunflejo (“^”) coincide con el comienzo de una línea.

foo$:Un signo de dólar (“$”) coincide con el final de una línea.

\<foo\>:Solos, los signos menor que (“<”) y mayor que (“>”) son literales. Al usar el caracter de barra invertida para escaparlos significan “primero de una palabra ”y “fin de una palabra”, respectivamente.

Page 38: Unidad 5: Standard IO and Pipe

Búsquedas de anclaje

Page 39: Unidad 5: Standard IO and Pipe

Agrupadores

(): Permite aplicar un operador a un subpatron. Por ejemplo: “foo(bar)?” permite al modificador “?” aplicar toda la cadena de texto “bar”

(|) : La barra invertida permite colocar subpatrones como opcionales

Page 40: Unidad 5: Standard IO and Pipe

Escape de Metacaracteres

Para inhabilitar temporalmente el significado especial de estos caracteres, simplemente escápelos mediante el caracter de barra inversa (“\”).

Observe una molesta excepción a esta regla. Cuando el caracter de barra inversa precede a “<” o al caracter “>”, éste habilita la interpretación especial

Page 41: Unidad 5: Standard IO and Pipe

Resumen

Page 42: Unidad 5: Standard IO and Pipe

Resumen

Page 43: Unidad 5: Standard IO and Pipe

Las Expresiones regulares no son nombres de archivos

Page 44: Unidad 5: Standard IO and Pipe

Unidad 6: String Processing Tools

Capítulo 4: Ordenando todo: sort

Page 45: Unidad 5: Standard IO and Pipe

La clasificación es el proceso de arreglar los registros en una secuencia específica.

Si se llama con argumentos, los argumentos se interpretan (en lo posible) como nombres de archivos para ser clasificados. Si se llama sin argumento, el comando sort clasificará lo que lea de la entrada estándar

Comando sort

Page 46: Unidad 5: Standard IO and Pipe

Modificación del orden de clasificación

Comando sort

Page 47: Unidad 5: Standard IO and Pipe

El comando sort por defecto realiza su clasificación con base en los primeros caracteres buscados en una línea

El comando sort permite a los usuarios especificar qué columna de datos tabulares utilizar para determinar el tipo de orden o de un modo más formal, qué columna debería utilizarse como la tecla de clasificación

Comando sort (teclas de clasificación)

Page 48: Unidad 5: Standard IO and Pipe

Comando sort (teclas de clasificación)

Page 49: Unidad 5: Standard IO and Pipe

Especificación del separador de campo

Comando sort (teclas de clasificación)

Page 50: Unidad 5: Standard IO and Pipe

Unidad 6: String Processing Tools

Capítulo 5: Extraer y reunir texto: cut y paste

Page 51: Unidad 5: Standard IO and Pipe

El comando cut extrae columnas de texto desde un archivo de texto o flujo.

Interpreta cualquier argumento de línea de comandos como nombres de archivo en los cuales operan

Para especificar cuáles bytes, caracteres, o campos se cortan, el comando cut debe llamarse con una de las siguientes opciones.

comando cut

Los argumentos de listado son en realidad una lista separada por comas deintervalos.

Page 52: Unidad 5: Standard IO and Pipe

• Cada intervalo puede tomar una de las siguientes formas.

comando cut

Page 53: Unidad 5: Standard IO and Pipe

El comando cut también sirve para extraer texto que no está estructurado por la posición de caracteres, sino por un caracter delimitador tal como un TABULADOR o “:”.

comando cut (-f)

Page 54: Unidad 5: Standard IO and Pipe

sirve para combinar archivos múltiples en una sola salida.

El comando paste espera un conjunto de nombres de archivo como argumentos.

Leerá la primera línea de cada archivo, unirá el contenido de cada línea

Insertando un caracter TABULADOR en el medio y escribirá la línea sencilla resultante en la salida estándar

Comando paste

Page 55: Unidad 5: Standard IO and Pipe

Comando paste