1 / 55

Unidad 5: Standard IO and Pipe

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

Download Presentation

Unidad 5: Standard IO and Pipe

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Tres tipos de programas • 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.

  3. Entrada estándar (stdin) y salida estándar (stdout) • 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.

  4. Redirección de stdin y stdout • 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

  5. Archivos abiertos y descriptores de archivos • 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

  6. Archivos abiertos y descriptores de archivos

  7. Archivos abiertos y descriptores de archivos

  8. Capítulo 2 Error estándar

  9. Error estándar (stderr) • 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

  10. Combinación de stdout y stderr • 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

  11. Resumen stdin,stdout, stderr

  12. Capítulo 3 Tuberías

  13. Tuberías • 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

  14. Tuberías

  15. Filtro de salida con grep

  16. Unidad 6: String Processing Tools Capítulo 1: Conteo de palabras y codificación de texto

  17. Codificación de caracteres • 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.

  18. ASCII • 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

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

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

  21. El comando wc (Conteo de palabras) • 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...]

  22. El comando wc • Recuerde que parte de la codificación de caracteres también incluye la codificación de caracteres “No Imprimibles”

  23. Unidad 6: String Processing Tools Capítulo 2: Búsqueda de Texto: grep

  24. Búsqueda Con Grep • El nombre grep representa en inglés general regular expression parser.

  25. Búsqueda Con Grep • 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.

  26. Búsqueda Con Grep

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

  28. Unidad 6: String Processing Tools Capítulo 3: Introducción a las expresiones regulares

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

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

  31. ¿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”.

  32. 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 caracterno incluido en el intervalo.

  33. Comodines • intervalo de caracteres literales

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

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

  36. Caracteres modificadores comunes

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

  38. Búsquedas de anclaje

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

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

  41. Resumen

  42. Resumen

  43. Las Expresiones regulares no son nombres de archivos

  44. Unidad 6: String Processing Tools Capítulo 4: Ordenando todo: sort

  45. Comando sort • 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

  46. Comando sort Modificación del orden de clasificación

  47. Comando sort (teclas de clasificación) • 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

  48. Comando sort (teclas de clasificación)

  49. Comando sort (teclas de clasificación) • Especificación del separador de campo

  50. Unidad 6: String Processing Tools Capítulo 5: Extraer y reunir texto: cut y paste

More Related