Colete a coluna necessária de um arquivo com o delimitador \ 001

1

Estou armazenando a saída do arquivo pig em um diretório Que contém linhas com várias colunas separadas pelo delimitador \u0001 .

Agora, no shell script, quero buscar o campo da 7ª coluna da saída.

Tentei comandos abaixo, mas não obtive a saída obrigatória:

cnt='awk -F '^A' '{print $7,$1}' $f'
cnt='cut -d'\u0001' -f8 $f | awk '{s+=$0}END{print s+0}''

Como conseguir o mesmo?

Aqui está o arquivo de amostra:

printf "c1\u0001c2\u0001c3\u0001c4\u0001c5\u0001c6\u0001c7\u0001c8" > 001.txt
    
por user 17.12.2015 / 13:18

2 respostas

2

Experimente a seguinte sintaxe:

awk -F '
awk -F '%pre%1' '{print $7}' < myfile
1' '{print $7}' < myfile

onde:

  • -F - use o próximo argumento como separador de campos,
  • ''{print $7}'1' - método de expressar um byte com um valor de 1,
  • < myfile - para cada linha de entrada, sai o sétimo campo seguido por uma nova linha,
  • myfile - use %code% como entrada.
por 04.03.2016 / 19:37
1

Você pode usar o comando cut para isso, por exemplo,

cut -d $'
cut -d $'%pre%1' -f7 001.txt
1' -f7 001.txt

Onde -d é seu delimitador e -f é o número da sua coluna.

    
por 10.04.2016 / 05:52