Discussão: utilitários padrão do UNIX que poucas pessoas usaram e ainda usam

Há uma semana, Douglas McIlroy, desenvolvedor do pipeline UNIX e criador do conceito de "programação orientada a componentes", Eu disse sobre programas UNIX interessantes e incomuns que não são amplamente utilizados. A publicação lançou uma discussão ativa no Hacker News. Reunimos o que há de mais interessante e ficaremos felizes se você participar da discussão.

Discussão: utilitários padrão do UNIX que poucas pessoas usaram e ainda usam
Фото - Virginia Johnson - Unsplash

Trabalhar com texto

Os sistemas operacionais do tipo UNIX possuem um conjunto padrão de ferramentas para formatação de texto. Utilitário erro de datilografia permitiu que você revisasse o documento em busca de erros de digitação e hapaxes - palavras que aparecem no material apenas uma vez. Curiosamente, o programa para encontrar erros de digitação não usa dicionários. Ele se baseia apenas nas informações do arquivo e realiza análises de frequência por meio de trigramas (uma sequência de três caracteres). Neste caso, todos os contadores necessários são armazenados em uma matriz 26x26x26. De acordo com Douglas McIlroy, essa quantidade de memória mal era suficiente para vários contadores de byte único. Portanto, para economizar dinheiro, eles foram escritos na forma logarítmica.

Hoje, o erro de digitação foi substituído por corretores ortográficos baseados em dicionário, mais modernos e precisos. Porém, as pessoas ainda se lembram do instrumento - há alguns anos um entusiasta introduzido implementação de erro de digitação em Go. O repositório ainda está sendo atualizado.

Outra ferramenta para trabalhar com documentos da década de 80 é o pacote Bancada de trabalho do escritor de Lorinda Cherry e Nina McDonald da Bell Labs. Sua composição incluído ferramentas para identificar classes gramaticais e estilo de documento, procurando tautologias e frases desnecessariamente complexas. Os utilitários foram desenvolvidos como auxiliares para os alunos e, ao mesmo tempo, usado estudantes da Colorado State University, nos EUA. Mas no início dos anos noventa, o Writer's Workbench foi esquecido porque não foi incluído na versão 7 do Unix. No entanto, este instrumento continuou o seu caminho até aos imitadores - por exemplo, gramática para IBM PC.

O UNIX também fornece ferramentas padrão para facilitar o trabalho com fórmulas. Existe um pré-processador de linguagem para formatar expressões matemáticas eqn. É notável o fato de que para exibir uma fórmula, o desenvolvedor só precisa descrevê-la em palavras e símbolos simples. Palavras-chave permitem deslocar símbolos matemáticos vertical e horizontalmente, alterar seus tamanhos e outros parâmetros. Se você passar a linha para o utilitário:

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

A saída irá gerar a seguinte fórmula:

Discussão: utilitários padrão do UNIX que poucas pessoas usaram e ainda usam

Na década de 1980-1990 eqn ajudou Especialistas em TI escrevem manuais de software. Mais tarde, porém, foi substituído pelo sistema LaTeX, que usa até mesmo Habr. Mas eqn é a primeira ferramenta de sua classe a permanecer parte de sistemas operacionais do tipo UNIX.

Trabalhando com arquivos

Em um tópico temático, os residentes do Hacker News notaram vários utilitários raramente usados ​​para trabalhar com arquivos. Um deles foi comm para compará-los. Este é um análogo simplificado diff, adaptado para trabalhar em scripts. Dele escreveu O próprio Richard Stallman junto com David MacKenzie.

A saída do programa consiste em três colunas. A primeira coluna contém valores exclusivos do primeiro arquivo, a segunda coluna contém valores exclusivos do segundo arquivo. A terceira coluna inclui os valores totais. Para que a comunicação funcione corretamente, os documentos comparados devem ser classificados lexicalmente. Portanto, um dos moradores do local sugerido trabalhe com o utilitário da seguinte forma:

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

Comm é conveniente para verificar a ortografia das palavras. Basta compará-los com um documento de dicionário de referência. Considerando as sutilezas associadas à necessidade de classificar arquivos, existe ver, que Stallman e MacKenzie escreveram seu utilitário exclusivamente para este caso de uso.

Discussão: utilitários padrão do UNIX que poucas pessoas usaram e ainda usam
Фото - Marnix Hogendoorn - Unsplash

Também participante da discussão no HN anotado capacidades do operador colar, que não eram óbvios para ele. Ele permite intercalar fluxos de dados ou dividir um fluxo em duas colunas ao gerar:

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

Um dos usuários notado, que muitas vezes não são utilizadas as soluções mais ideais para realizar estas operações simples: começando com fmt, ex e terminando mlr с coisa mínima и rs.

Quais recursos padrão de sistemas operacionais do tipo UNIX foram uma descoberta para você?

Sobre o que escrevemos em nosso blog corporativo:

Discussão: utilitários padrão do UNIX que poucas pessoas usaram e ainda usam Como o sistema de nomes de domínio evoluiu: a era ARPANET
Discussão: utilitários padrão do UNIX que poucas pessoas usaram e ainda usam História do Sistema de Nomes de Domínio: Os Primeiros Servidores DNS
Discussão: utilitários padrão do UNIX que poucas pessoas usaram e ainda usam História do DNS: quando os nomes de domínio passaram a ser pagos
Discussão: utilitários padrão do UNIX que poucas pessoas usaram e ainda usam História do Sistema de Nomes de Domínio: Guerras de Protocolos

Fonte: habr.com

Adicionar um comentário