Tente algo como:
awk '$1"">A[FNR]{A[FNR]=$1} END{for(i=1; i<=FNR; i++)print A[i]}' file*
$1""
é usado para forçar $ 1 no contexto da string, para que seja feita uma comparação de strings.
Eu tenho três arquivos. Todos eles tendo apenas uma coluna.
File1
M
0
M
A
File2
A
0
M
A
File3
M
0
A
A
compare cada linha nos três arquivos, ou seja, na primeira linha (M, A, M) daí a ocorrência máxima é M. O arquivo de saída deve conter M na primeira linha. da mesma forma para outras linhas nos três arquivos
Output file
M
0
M
A
alguém pode dizer o script awk para isso ....
Tente algo como:
awk '$1"">A[FNR]{A[FNR]=$1} END{for(i=1; i<=FNR; i++)print A[i]}' file*
$1""
é usado para forçar $ 1 no contexto da string, para que seja feita uma comparação de strings.
Com o GNU awk
paste file{1..3} | awk '{n=split($0, a, "\t");
asort(a,b,"@val_str_desc"); print b[1]}'
paste file[123] |
while read -a values; do printf "%s\n" "${values[@]}" | sort | tail -1; done
Tags text-processing awk