como copiar uma parte de um arquivo de texto byte-by-byte para outro arquivo de texto? dd, head ou?

2

Eu preciso pegar as primeiras linhas de um arquivo de texto longo para algumas correções de bugs em um arquivo menor (um script Python não digere o arquivo de texto grande como pretendido). No entanto, para que a correção de erros faça algum sentido, eu realmente preciso que as linhas sejam cópias perfeitas, basicamente byte por byte, e capte qualquer problema em potencial com codificação de caracteres, caracteres de fim-de-linha, caracteres invisíveis ou o que não estiver o original txt.

Eu acho que não é problema para um arquivo de texto terminar no meio da linha, então copiar alguns bytesize específicos iria realizar o que eu pretendo fazer. Tanto head como dd parecem ser capazes de fazer isso, mas man head diz para trabalhar em arquivos de texto e man dd para copiar a entrada padrão para a saída padrão (e oferecer ferramentas de conversão), não consegui verificar que eles fazem a cópia bit-a-bit, sem qualquer conversão ou perda. Assim, as duas soluções a seguir parecem funcionar em testes, mas não tenho certeza se estou testando-as em qualquer possível caractere de problema. Uma resposta definitiva ou outra solução preferível seria muito útil.

Ou

dd if=input.txt of=output.txt bs=256 count=1

ou

head -c 256 input.txt > output.txt

Veja também a pergunta original e mais específica aqui .

    
por László 03.03.2016 / 12:54

0 respostas