Quero filtrar algumas colunas de um arquivo, tem 46 no total. Eu só quero filtrar do 25 até o 46 , da seguinte forma:
Saída Desejada:
Column25 Column26 ... Column47
Column25 Column26 ... Column47
Column25 Column26 ... Column47
Eu tenho o comando correto com awk:
cat -n <(awk '{n=17;if(NR==1)n=25;for(i=n;i<=NF;i++) a[$i]++} END{for(val in a) print val,a[val]}' filelog.txt)
O comando acima, leva da coluna 25 até a última, neste caso é a 47 . Funciona corretamente, imprime todas as strings em todos os campos que eu quero.
Mas há um problema aqui:
As colunas que gostaria de imprimir têm espaços em branco como da seguinte maneira:
Column25 Column26 ... Column47
Column25 Column26 [...] Column47
[:space:]Column26 [:space:] Column47
[:space:][:space:] [:space:] [:space:]
Column25 [:space:] [:space:] [:space:]
O problema é: Quando imprimo todas as colunas específicas, as strings em outras colunas passam para os espaços em branco nas colunas desejadas.
Por exemplo:
Column25 Column26 ... Column47
Column25 Stringsofcolumn12 Manystrings Stringsofcolumn21
Stringsofcolumn23 Stringsofcolumn5 ofmanycolumns Stringsofcolumn22
Column25 Stringsofcolumn16 blablabla anothermanystrings
Existe alguma maneira de excluir os espaços em branco nas colunas que gostaria de imprimir, para evitar essa situação?
NOTA:
As strings das colunas, possuem o mesmo texto dos cabeçalhos. exemplo: se column28
tem strings de conteúdo, as strings são column28
literalmente. Mas acho que isso não importa agora, apenas comente.
Obrigada!
É isso que você quer?
Por favor, marque como a resposta correta se isso resolver seu problema