Discusión: utilidades estándar de UNIX que pocas personas han usado y todavía usan

Hace una semana, Douglas McIlroy, desarrollador del proceso UNIX y creador del concepto de "programación orientada a componentes", рассказал sobre programas UNIX interesantes e inusuales que no se utilizan mucho. La publicación inició una discusión activa sobre Hacker News. Hemos recopilado las cosas más interesantes y estaremos encantados de que te unas a la discusión.

Discusión: utilidades estándar de UNIX que pocas personas han usado y todavía usan
Фото - Virginia Johnson — Desechar

Trabajar con texto

Los sistemas operativos tipo UNIX tienen un conjunto estándar de herramientas para formatear texto. Utilidad error de tipografía le permitió revisar el documento en busca de errores tipográficos y hápax - palabras que aparecen en el material una sola vez. Curiosamente, el programa para encontrar errores tipográficos. no se usa diccionarios. Se basa únicamente en la información del archivo y realiza análisis de frecuencia utilizando trigramas (una secuencia de tres caracteres). En este caso, todos los contadores necesarios. se almacenan en una matriz de 26x26x26. Según Douglas McIlroy, esta cantidad de memoria apenas era suficiente para varios contadores de un solo byte. Por lo tanto, para ahorrar dinero, se escribieron en forma logarítmica.

Hoy en día, los errores tipográficos han sido reemplazados por correctores ortográficos basados ​​en diccionarios, más modernos y precisos. Sin embargo, la gente todavía recuerda el instrumento: hace unos años, un entusiasta presentado implementación de error tipográfico en Go. El repositorio aún se está actualizando.

Otra herramienta para trabajar con documentos de los años 80 es el paquete Banco de trabajo del escritor de Lorinda Cherry y Nina McDonald de Bell Labs. Su composición incluido herramientas para identificar partes del discurso y estilo de documento, buscando tautologías y oraciones innecesariamente complejas. Las utilidades se desarrollaron como ayudas para los estudiantes y en algún momento usado estudiantes de la Universidad Estatal de Colorado en Estados Unidos. Pero a principios de los noventa, Writer's Workbench fue olvidado porque no estaba incluido en la Versión 7 de Unix. Sin embargo, este instrumento continuó su camino hacia imitadores, por ejemplo, gramática para PC IBM.

UNIX también proporciona herramientas estándar para facilitar el trabajo con fórmulas. Existe un preprocesador de lenguaje para formatear expresiones matemáticas. eqn. Se destaca por el hecho de que para mostrar una fórmula, el desarrollador sólo necesita describirla con palabras y símbolos simples. Las palabras clave le permiten desplazar símbolos matemáticos vertical y horizontalmente, cambiar sus tamaños y otros parámetros. Si pasa la línea a la utilidad:

sum from { k = 1 } to N { k sup 2 }

La salida generará la siguiente fórmula:

Discusión: utilidades estándar de UNIX que pocas personas han usado y todavía usan

En las décadas de 1980 y 1990 ayudado Los especialistas en TI escriben manuales de software. Pero luego fue reemplazado por el sistema LaTeX, que usos incluso Habr. Pero eqn es la primera herramienta de su clase que sigue formando parte de sistemas operativos tipo UNIX.

Trabajar con archivos

En el hilo temático, los residentes de Hacker News notaron varias utilidades para trabajar con archivos que rara vez se utilizan. Uno de ellos era comm para compararlos. Este es un análogo simplificado. diff, diseñado para trabajar en guiones. Su написал El propio Richard Stallman junto con David MacKenzie.

La salida del programa consta de tres columnas. La primera columna contiene valores exclusivos del primer archivo, la segunda columna contiene valores exclusivos del segundo archivo. La tercera columna incluye los valores totales. Para que la comunicación funcione correctamente, los documentos comparados deben estar ordenados léxicamente. Por lo tanto, uno de los residentes del sitio propuesto trabaje con la utilidad de la siguiente forma:

comm <(sort fileA.txt) <(sort fileB.txt)

Comm es cómodo de utilizar para comprobar la ortografía de las palabras. Basta compararlos con un documento de diccionario de referencia. Teniendo en cuenta las sutilezas asociadas con la necesidad de ordenar archivos, existe ver, que Stallman y MacKenzie escribieron su utilidad exclusivamente para este caso de uso.

Discusión: utilidades estándar de UNIX que pocas personas han usado y todavía usan
Фото - Marnix Hogendoorn — Desechar

También participante en el debate sobre HN. Señaló capacidades del operador pastas, que no eran obvios para él. Le permite intercalar flujos de datos o dividir un flujo en dos columnas al generar:

$ paste <( echo -e 'foonbar' ) <( echo -e 'baznqux' )
foo     baz
bar     qux
$ echo -e 'foonbarnbaznqux' | paste - -
foo     bar
baz     qux

Uno de los usuarios notado, que a menudo no se utilizan las soluciones más óptimas para realizar estas operaciones simples: comenzando con fmt, ex y terminando mlr с jota и rs.

¿Qué características estándar de los sistemas operativos tipo UNIX fueron un descubrimiento para usted?

Sobre qué escribimos en nuestro blog corporativo:

Discusión: utilidades estándar de UNIX que pocas personas han usado y todavía usan Cómo evolucionó el sistema de nombres de dominio: la era ARPANET
Discusión: utilidades estándar de UNIX que pocas personas han usado y todavía usan Historia del sistema de nombres de dominio: los primeros servidores DNS
Discusión: utilidades estándar de UNIX que pocas personas han usado y todavía usan Historia del DNS: cuando los nombres de dominio pasaron a ser pagos
Discusión: utilidades estándar de UNIX que pocas personas han usado y todavía usan Historia del sistema de nombres de dominio: guerras de protocolos

Fuente: habr.com

Añadir un comentario