Como verificar a ortografia à moda antiga do Unix
Antes que os processadores de texto tivessem uma função de verificação ortográfica, você precisava executar sua própria verificação ortográfica em um documento. E nos primeiros dias do Unix, os sistemas não tinham um “ corretor ortográfico dedicado ” programa, mas em vez disso exigia um conjunto de comandos para fazê-lo você mesmo. Vamos dar uma olhada em como verificar a ortografia do “ antigo Unix ” caminho.
Verificando a ortografia na linha de comando
Atualmente, não pensamos no corretor ortográfico do nosso processador de texto. Você não pode nem “ executar ” uma verificação ortográfica mais. É mais fácil observar se a linha vermelha embaralhada aparece abaixo das palavras com erros ortográficos; se houver uma linha vermelha abaixo dela, você corrige a ortografia.
Nos primeiros dias do Unix, o sistema fornecia um arquivo de dicionário (geralmente / usr / share / dict / words na maioria dos sistemas Linux) que continha uma lista ordenada de palavras do dicionário, com cada palavra em uma linha separada. Para verificar a ortografia de um documento, você precisa comparar todas as palavras do documento com o arquivo do dicionário. E para fazer isso, você precisa converter seu documento em um formato semelhante ao arquivo de dicionário: uma lista classificada de palavras, com cada palavra em sua própria linha.
O arquivo de dicionário está todo em letras minúsculas, portanto, primeiro você precisa converter seu documento para usar letras minúsculas. Você faz isso com o comando cat para exibir o arquivo e o comando tr para traduzir caracteres de um conjunto para outro. Nesse caso, você pode pedir a tr para converter todas as letras maiúsculas de A-Z em letras minúsculas de a-z:
documento gato | tr A-Z a-z
Embora o dicionário inclua pontuação in-word, como hifens e apóstrofos, a lista de palavras não inclui pontuação de frase, como pontos e pontos de interrogação. Portanto, a próxima etapa é usar tr, desta vez para excluir (-d) os caracteres que não queremos:
documento gato | tr A-Z a-z | tr -d ',.:; ()?!'
O arquivo de dicionário possui cada palavra em uma linha separada, então você precisa dividir seu documento para que cada palavra apareça em sua própria linha. O comando tr pode substituir os espaços por uma “ nova linha ” personagem, para fazer isso por nós:
documento gato | tr A-Z a-z | tr -d ',.:; () ?!' | tr '' '\ n'
A classificação da saída é feita facilmente usando o comando sort do Unix. Adicione o comando uniq para limpar a saída, para remover quaisquer palavras duplicadas. Por exemplo, você provavelmente usa a palavra “ o ” várias vezes em qualquer documento. Usar classificar então uniq removerá as instâncias repetidas de “ o ” então você só tem um “ o ” em sua saída.
documento gato | tr A-Z a-z | tr -d ',.:; () ?!' | tr '' '\ n' | sort | uniq
Agora você está pronto para comparar a lista de palavras do seu documento com o arquivo do dicionário! O comando comm do Unix padrão compara dois arquivos linha por linha e identifica linhas que são exclusivas para o primeiro arquivo, exclusivas para o segundo arquivo ou linhas que são comuns a ambos. Para localizar a lista de palavras com erros ortográficos em seu documento, você deseja a lista de palavras exclusivas – palavras que são encontradas em seu documento, mas não no arquivo de dicionário. Use a opção -2 para não imprimir as palavras exclusivas para o segundo arquivo e a opção -3 para não exibir as palavras que são comuns a ambos os arquivos. O que sobrou são as palavras exclusivas do seu documento que não aparecem no dicionário; essas são palavras com erros ortográficos.
documento gato | tr A-Z a-z | tr -d ',.:; () ?!' | tr '' '\ n' | sort | uniq | comm -2 -3 - / usr / share / dict / words
O único hífen indica ao comm para ler a “ entrada padrão, ” que é a saída dos comandos anteriores na linha de comando.
E é assim que você verifica a ortografia do “ antigo Unix ” maneira! Deixe-me demonstrar com um documento de amostra. Escrevi intencionalmente algumas palavras erradas aqui:
$ cat document No início do Unix não havia processadores de texto como pensamos hoje. Em vez disso, você escreveu um documento de texto simples que pode ter comandos especiais incorporados para sublinhar o texto ou criar uma lista de pontos de bulet. Mas como você verificou a ortografia do seu documento?
Ao executar a lista de comandos, você encontrará esta lista de palavras com erros ortográficos:
Documento $ cat | tr A-Z a-z | tr -d ',.:; () ?!' | tr '' '\ n' | sort | uniq | comm -2 -3 - palavras bulet procesors thikn
A chave para verificar a ortografia desta forma é o comando comm do Unix para comparar duas listas ordenadas de palavras. As duas listas precisam ser classificadas da mesma maneira. O arquivo do seu sistema Linux &’ s / usr / share / dict / words pode incluir algumas palavras maiúsculas, como nomes comuns ou títulos ou locais. Por exemplo, o arquivo de dicionário em meu sistema Fedora 32 contém “ Minnesota ” (capitalização correta para o nome do estado dos EUA) “ minnesota ” (todas em minúsculas) nas linhas adjacentes. Mas o comando sort do Unix classifica as letras maiúsculas separadamente das letras minúsculas. Isso confundirá o comando comm, que reclamará que o arquivo de entrada não está classificado corretamente. Para corresponder melhor ao “ antigo Unix da escola ” para verificar a ortografia, você pode primeiro precisar classificar o arquivo de dicionário do seu sistema e salvá-lo em um arquivo separado. Você pode fazer assim:
classificar / usr / compartilhar / dict / palavras > palavras
Via: How to Geek
Nenhum comentário