Vou tentar ser específico e claro.
Eu tenho um arquivo: log.txt
ele contém várias strings que eu pesquisei para imprimir e contar cada uma delas.
Este é o meu comando, apenas coincidências de colunas de impressão no arquivo log.txt
:
sed -n '1p' log.txt | awk '{ s = ""; for(i = 25; i <= NF; i++) s = s $i "\n"; print s}'
Explicação
sed -n '1p' //prints the first line
awk '{ s = ""; for(i = 25; i <= NF; i++) s = s $i "\n"; print s}' //prints the next columns from the number 25 column
Entrada:
Column25 Column26 Column27 ColumnN <--#first filter:I need obtain specific headers. ColumnN
Column25 Column27 ColumnN
Column26 Column27 <--#Count how many times is repeat every string in whole file
Saída:
Column25
Column26
Column27
Column28
Column29
ColumnN
Eu tento fazer:
A partir da saída anterior, quero contar todas as coincidências no mesmo arquivo file.log
, mas no mesmo comando:
sed -n '1p' log.txt | awk '{ s = ""; for(i = 25; i <= NF; i++) s = s $i "\n"; print s}'
e envie novamente para a saída como:
Saída desejada:
Column25 - n times
Column26 - n times
Column27 - n times
Column28 - n times
Column29 - n times
ColumnN - n times
PS. Estou pensando em usar a mesma variável "$s"
no loop for para iniciar uma pesquisa, mas não está funcionando.