canaliza parte de um arquivo de texto para o trabalho de recebimento de dados (python)

0

Eu quero enviar parte de um arquivo de texto muito grande para o trabalho downstream (python).

Basicamente, quero obter todas as linhas ímpares e os primeiros n caracteres das linhas pares, mas ainda quero manter a ordem da linha.

A razão é que as linhas pares são muito longas, mas eu só preciso dos primeiros caracteres. Isso pode tornar a leitura do arquivo em python muito mais rápido.

    
por coffee 12.02.2017 / 21:33

1 resposta

1

Aqui está uma solução em awk :

$ cat testfile 
foo
asdkjasjdka
bar
kjsdksjdkssd
$ awk -v n=2 'NR % 2 == 1 { print } NR % 2 == 0 { print substr($0, 1, n) }' testfile
foo
as
bar
kj
    
por 12.02.2017 / 21:45