IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.
Avatar
Lukáš Bobka:21.5.2020 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.5.2020 9:56
Avatar
Atrament
Tvůrce
Avatar
Odpovídá na Lukáš Bobka
Atrament:21.5.2020 13:00

Awk to umí jedním řádkem:

awk '{sum+=$3; i++} END{print sum/i}' data.txt
Akceptované řešení
+20 Zkušeností
+2,50 Kč
Řešení problému
 
Nahoru Odpovědět
21.5.2020 13:00
Avatar
Lukáš Bobka:26.5.2020 0:36

diky ;) tak se povedlo

 
Nahoru Odpovědět
26.5.2020 0:36
Avatar
Odpovídá na Lukáš Bobka
Lukáš Bobka:29.6.2020 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.6.2020 17:35
Avatar
Radek Veverka
Tvůrce
Avatar
Odpovídá na Lukáš Bobka
Radek Veverka:30.6.2020 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.6.2020 10:35
Avatar
Lukáš Bobka:16.7.2020 23:01

díky za tipy, a za pomoc....vyřešeno pomoci cronu.. :)

 
Nahoru Odpovědět
16.7.2020 23:01
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 6 zpráv z 6.