Python týden ITnetwork summer 2020
Pouze tento týden sleva až 80 % na e-learning týkající se Pythonu
80 % bodů zdarma na online výuku díky naší Letní akci!
Avatar
Lukáš Bobka:21. května 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
 
Odpovědět
21. května 9:56
Avatar
Atrament
Super redaktor
Avatar
Odpovídá na Lukáš Bobka
Atrament:21. května 13:00

Awk to umí jedním řádkem:

awk '{sum+=$3; i++} END{print sum/i}' data.txt
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět
21. května 13:00
Avatar
Lukáš Bobka:26. května 0:36

diky ;) tak se povedlo

 
Nahoru Odpovědět
26. května 0:36
Tento výukový obsah pomáhají rozvíjet následující firmy, které dost možná hledají právě tebe!
Avatar
Odpovídá na Lukáš Bobka
Lukáš Bobka:29. června 17:35

Mám ještě prosbu, mohl by mi někdo dát nějaký tip jak udělat script, který za určitý čas zkopíruje obsah adresáře do souboru? Nevím si s tím rady... :/

 
Nahoru Odpovědět
29. června 17:35
Avatar
Radek Veverka
Redaktor
Avatar
Odpovídá na Lukáš Bobka
Radek Veverka:30. června 10:35

To zní jako bys chtěl udělat nějaké automatické zálohování.
Pro uložení adresářové struktury do jednoho souboru můžeš použít tar:

tar -cf vysledny_soubor.tar slozka

Pokud chceš složku navíc zkomprimovat, stačí přidat flag:

tar -zcf vysledny_soubor.tar.gz slozka

Eventuelně lze použít klasický zip, ale možná ho budeš muset doinstalovat, záleží na distribuci.
Pro spouštění skriptu v pravidelných intervalech mrkni na cron.

 
Nahoru Odpovědět
30. června 10:35
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 5 zpráv z 5.