Analisando as linhas do arquivo de dados por delimitador em vez de EOL

1

Estou tentando analisar um arquivo de texto grande (600MB) de dados brutos que não tenho controle sobre seu formato.

O problema é que o final da linha não é bem colocado:

head -1 filename | wc -w

Produz uma contagem de ~ 1,2 mil palavras por linha. Minhas linhas de destino são delimitadas pelo caractere \ x06.

Como posso reorganizar as linhas para que cada uma delas termine / comece com ^ F (\ x06)? Eu li muitos tutoriais sobre sed, mas nenhum mencionou esse tipo de processo ...

^F1990451178631 E04:19:03.86 USER_INPUT 0 ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0 ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0 ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0 ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0 ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0 ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0 ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0 ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0 ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0 ID=34586238477^F1990451178631 E04:19:03.86 USER_INPUT 0

Qual é a melhor maneira de fazer isso por sed ou ferramentas similares?

    
por EladA 06.05.2016 / 14:18

1 resposta

2

awk permite que você use um separador de registro diferente de nova linha. Você pode usá-lo da seguinte maneira:

awk 'BEGIN { ORS=RS="\x06" } ...' input-file

Onde ... é o que você quer fazer com os dados.

    
por 06.05.2016 / 14:19