Script care calculeaza dimensiunea totala a fisierelor din folderul curent
Ultima postare: mar 02 2015 12:30, Inițiat de
worm94
, feb 28 2015 19:02
·
0
#1
Publicat: 28 februarie 2015 - 19:02
Salut, am reușit să calculez dimensiunea fișierelor dintr-un director cu următorul script :
#!/bin/bash s=0 for i in `ls -l |tr -s ' ' | cut -d ' ' -f5` do s=`expr $s + $i ` done echo "Dimesniunea totala a fisierlor este $s biti" Numai că nu prea am înțeles ce implică for-ul acela, am căutat comenzile pe net dar nu prea am dat de ele iar explicații ioc.. Văd că încearca mai întâi să listezi conținutul apoi nu știu ce face acel tr, cât despre -s mă gândesc că vine de la size sau ceva de genul...dacă m-ar putea ajuta cineva, îi rămân recunoscător. Și un link dacă știți ceva site-uri care să mă lămurească m-ar ajuta mult. Mulțumesc. |
#2
Publicat: 28 februarie 2015 - 20:13
Din cunostintele mele de baza, cu for parcurgi pas cu pas o comanda. Un exemplu simplu invatat in liceu:
for i<6: i+1 se parcurge acea comanda pana i = 6, in cazul tau, pana termina toate fisierele din director. Editat de asasinuxp, 28 februarie 2015 - 20:16. |
#4
Publicat: 28 februarie 2015 - 20:24
Știi că este deja un utilitar pentru așa ceva? E vorba de du (disk usage).
du -h nume-directorîți dă dimensiunea acelui director în format human readable (K, M, G). du -ah nume-directordă dimensiunea fișierelor din director și totalul, șamd, vezi man du. [ https://i.imgur.com/EB5vOJ0.png - Pentru incarcare in pagina (embed) Click aici ] În privința ls, tr, cut, etc, de ce nu citești manualele? De unde ai luat acel script nu erau explicații? Editat de shogun1, 28 februarie 2015 - 20:27. |
#8
Publicat: 28 februarie 2015 - 20:52
worm94, on 28 februarie 2015 - 19:02, said:
Văd că încearca mai întâi să listezi conținutul apoi nu știu ce face acel tr, cât despre -s mă gândesc că vine de la size sau ceva de genul...dacă m-ar putea ajuta cineva, îi rămân recunoscător. Și un link dacă știți ceva site-uri care să mă lămurească m-ar ajuta mult. Mulțumesc. Din iesirea lui "ls -l" este eliminat de peste tot acel spatiu primit ca argument pentru comanda tr. "s" vine de la squeeze (= a strange, a comprima etc.). Vezi aici o discutie: http://superuser.com...nd-work-in-unix Editat de _-_, 28 februarie 2015 - 20:53. |
#9
Publicat: 28 februarie 2015 - 20:53
worm94, on 28 februarie 2015 - 19:02, said:
Și un link dacă știți ceva site-uri care să mă lămurească m-ar ajuta mult. Mulțumesc. man tr de exemplu. Apoi citeste, intelege.
Editat de OriginalCopy, 01 martie 2015 - 19:43.
|
#10
Publicat: 01 martie 2015 - 23:10
Prima dată am încercat în terminal și îmi spune că tr mai are nevoie de un argument.
Am să mai caut. shogun1, on 28 februarie 2015 - 20:24, said:
Știi că este deja un utilitar pentru așa ceva? E vorba de du (disk usage). În privința ls, tr, cut, etc, de ce nu citești manualele? De unde ai luat acel script nu erau explicații? Scriptul nu era explicat și știu că nu aș avea neapărat nevoie de așa ceva pentru că multe din ele sunt deja făcute dar îmi e drag linux-ul și încerc să învăț așa pentru mine.
Editat de shogun1, 02 martie 2015 - 04:50.
|
|
Anunturi
Bun venit pe Forumul Softpedia!
▶ Utilizatori activi: 1
0 membri, 1 vizitatori, 0 utilizatori anonimi