encontrar totais para 5 linhas ou 2 linhas em um script [fechado]

1

Eu tenho um script para fins de contabilidade e somam cada 5 linhas que valem números:

awk '{print; if (FNR % 5 == 0 ) printf "\n\n";}' filename > filename2
awk '{sum+=$1}(NR%5==0){avg=sum/5;print $1"\nTotal: "sum "\t ""\n";sum=0;next}1' endfile > totals

e alguns outros bits não incluídos.

O que eu preciso saber é como ter% 5 ou% 2 .. as linhas de contabilidade foram alteradas e há cinco linhas no total, além de trechos com apenas duas linhas que precisam ser somadas em um arquivo. Existe uma declaração if que eu possa incluir nesta linha ou algo semelhante? Se houver 5 linhas, elas serão totalizadas, se houver menos ou mais de 5 linhas, soma-as também. No momento, ele está chutando os totais irrelevantes para o final, em vez de adicioná-los da mesma forma quando eu faço uma pasta em outro arquivo no final.

exemplo

file1
total:123
file2:
total:5006
file3
total:34
file4
total:445565
file5
total:34002

file1 total:
file2 total:

Espero que isso seja claro, não sou bom em fazer perguntas às pessoas. Além disso, isso está no AIX (unix), script de shell padrão.

    
por ColeMc 24.01.2018 / 17:58

0 respostas