Mostra os caracteres do espaço em branco na impressão

1

Eu preciso renderizar um arquivo ASCII para impressão de uma maneira que elimine a ambiguidade se (muito improvável) alguém decidir digitá-lo e validar as assinaturas.

Estou dando o código QR de conjunto de símbolos de 8 bits como uma alternativa, mas uma validação manual seria uma boa adição para fins de arquivamento.

Essencialmente, eu preciso de um tipógrafo monoespaçado que comporá um símbolo de 'espaço em branco' para espaço, um símbolo CR / LF (e prossiga para a próxima linha para legibilidade) sempre que um CR / LF for encontrado, etc. óbvio se houver espaços em branco anteriores ao CR / LF, se houver um caractere presente, etc.

Existe uma fonte que realiza esse objetivo? utilitário nix? Módulo TeX / pacote / sistema derivado? Eu postei uma pergunta semelhante no TeX.SE, mas pode ser mais adequado aqui.

    
por qdot 03.06.2014 / 16:42

1 resposta

3

Em um sistema unix / linux, você pode enviar o arquivo por meio de tr , convertendo certos caracteres em outros. Por exemplo:

cat file.txt | tr ' \n' '#$'

traduzirá todos os espaços para # e todas as novas linhas para $ .

Se você precisar transformar CR / LF juntos, use tr ' ' '#' para alterar espaços e canalize a saída para outro tr -t '\r\n' '$' para alterar as novas linhas. O -t diz ao tr para truncar o conjunto correspondente ao tamanho do conjunto de substituição.

Você também pode usar o utilitário dos2unix para primeiro traduzir todos os \r\n finais de linha para o mais unix \n e, em seguida, usar a primeira opção.

Exemplo (com \n apenas):

$ echo "foo bar" | tr ' \n' '#$'
foo#bar$
    
por 03.06.2014 / 17:48