Anniversary - BF C/C++ week
80 % bodů zdarma na online výuku díky naší Narozeninové akci!
Pouze tento týden sleva až 80 % na e-learning týkající se C/C++
Avatar
Lukáš Bobka:21. mája 9:56

Ahoj, prosím o pomoc. Potřebuji udělat script, který mi bude počítat průměrnou hodnotu z čísel uvedené ve sloupci tabulky.
př. tab

a b 1 d
a b 2 d
a b 3 d
a b 4 d

-> tabulka je umístěna v txt souboru. Potřebuji sloupec s čísly postupně načíst do proměnné a následně sečíst. To jsem chtěl provést pomocí cyklu, kde nejdříve zjistím kolik položek v souboru je (pocet) a následné bych chtěl projít tento sloupec jako pole a postupně načítat jednotlivé položky do proměnné (suma). A potom udělat průměr. Jenže problém je v načtení dat ze souboru - hlásí mi to "command not found" Mužete mi prosím někdo pomoct? Předem děkuju

#!/bin/sh

pocet=$(awk {$3} data.txt)

for(i=0 ; $i<=$pocet ; $i++)

do

x= awk /$i/ {$3} data.txt
suma= $($suma + $x)

#-------nebo takhle ale tohle taky nefunguje---------

suma=$($suma + $(awk '/$i/ {$3}' data.txt))

done

prumer=$($suma / $pocet)

echo prumer
 
Odpovedať
21. mája 9:56
Avatar
Atrament
Editor
Avatar
Odpovedá na Lukáš Bobka
Atrament:21. mája 13:00

Awk to umí jedním řádkem:

awk '{sum+=$3; i++} END{print sum/i}' data.txt
Akceptované riešenie
+20 Skúseností
+1 bodov
Riešenie problému
 
Hore Odpovedať
21. mája 13:00
Tento výukový obsah pomáhajú rozvíjať nasledujúce firmy, ktoré možno hľadajú práve teba!
Avatar
Lukáš Bobka:26. mája 0:36

diky ;) tak se povedlo

 
Hore Odpovedať
26. mája 0:36
Robíme čo je v našich silách, aby bola tunajšia diskusia čo najkvalitnejšia. Preto do nej tiež môžu prispievať len registrovaní členovia. Pre zapojenie sa do diskusie sa zaloguj. Ak ešte nemáš účet, zaregistruj sa, je to zadarmo.

Zobrazené 3 správy z 3.