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.
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?
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.
Tags bash text-processing sed