Jump to content

SUBIECTE NOI
« 1 / 5 »
RSS
Incalzire in pardoseala etapizata

Suprataxa card energie?!

Cum era nivelul de trai cam din a...

probleme cu ochelarii
 Impozite pe proprietati de anul v...

teava rezistenta panou apa calda

Acces in Curte din Drum National

Sub mobila de bucatarie si sub fr...
 Rezultat RMN

Numar circuite IPAT si prindere t...

Pareri brgimportchina.ro - teapa ...

Lucruri inaintea vremurilor lor
 Discuții despre TVR Sport HD.

Cost abonament clinica privata

Tremura toata, dar nu de la ro...

Renault Android
 

Script care calculeaza dimensiunea totala a fisierelor din folderul curent

- - - - -
  • Please log in to reply
11 replies to this topic

#1
worm94

worm94

    Member

  • Grup: Members
  • Posts: 266
  • Înscris: 02.01.2015
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.:D
Și un link dacă știți ceva site-uri care să mă lămurească m-ar ajuta mult. Mulțumesc.

#2
asasinuxp

asasinuxp

    Senior Member

  • Grup: Senior Members
  • Posts: 4,387
  • Înscris: 23.08.2010
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.

Edited by asasinuxp, 28 February 2015 - 20:16.


#3
worm94

worm94

    Member

  • Grup: Members
  • Posts: 266
  • Înscris: 02.01.2015
Asta e ok...nu asta e problema (daca nu știam ce face un for nu mai veneam pe aici). Eu mă refeream la :
  • ls -l |tr -s

  • cut -d

  • -f5

Edited by worm94, 28 February 2015 - 20:18.


#4
shogun1

shogun1

    Cranky old n00b ☯

  • Grup: Senior Members
  • Posts: 7,542
  • Înscris: 31.01.2009
Ș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-director

dă 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?

Edited by shogun1, 28 February 2015 - 20:27.


#5
dani.user

dani.user

    Guru Member

  • Grup: Senior Members
  • Posts: 30,194
  • Înscris: 24.02.2007
Executa-le manual, pe rand, si vezi ce intra si iese din fiecare.

Edited by dani.user, 28 February 2015 - 20:40.


#6
shogun1

shogun1

    Cranky old n00b ☯

  • Grup: Senior Members
  • Posts: 7,542
  • Înscris: 31.01.2009
Mutat de pe sectiunea "Distributii bazate pe RPM", aici se potriveste mai bine.

#7
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006
du -h -s `ls -1`

du -h -s .


Edited by OriginalCopy, 28 February 2015 - 20:49.


#8
_-_

_-_

    - Magister Ludi -

  • Grup: Moderators
  • Posts: 22,901
  • Înscris: 21.03.2013

View Postworm94, 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.Posted Image
Ș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

Edited by _-_, 28 February 2015 - 20:53.


#9
OriginalCopy

OriginalCopy

    I'm harmful, fear me please! :))

  • Grup: Senior Members
  • Posts: 27,268
  • Înscris: 10.08.2006

View Postworm94, 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.
Nu ai nevoie de link, linux e un sistem prietenos cu programatorii & co, are manuale deja integrate. Scrie in consola:

man tr


de exemplu. Apoi citeste, intelege.

Edited by OriginalCopy, 01 March 2015 - 19:43.
stii tu de ce...


#10
worm94

worm94

    Member

  • Grup: Members
  • Posts: 266
  • Înscris: 02.01.2015
Prima dată am încercat în terminal și îmi spune că tr mai are nevoie de un argument.
Am să mai caut.

View Postshogun1, 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.

Edited by shogun1, 02 March 2015 - 04:50.
Eliminare citat integral


#11
georgica

georgica

    Active Member

  • Grup: Members
  • Posts: 1,478
  • Înscris: 30.01.2003

View PostOriginalCopy, on 28 februarie 2015 - 20:46, said:

du -h -s `ls -1`

du -h -s .


Dacă vrei să vezi și directoarele ascunse (care încep cu .), se poate folosi --max-depth sau -d:
du -hd 1



#12
worm94

worm94

    Member

  • Grup: Members
  • Posts: 266
  • Înscris: 02.01.2015
Am înțeles.
Mulțumesc frumos.:)

Anunturi

Chirurgia spinală minim invazivă Chirurgia spinală minim invazivă

Chirurgia spinală minim invazivă oferă pacienților oportunitatea unui tratament eficient, permițându-le o recuperare ultra rapidă și nu în ultimul rând minimizând leziunile induse chirurgical.

Echipa noastră utilizează un spectru larg de tehnici minim invazive, din care enumerăm câteva: endoscopia cu variantele ei (transnazală, transtoracică, transmusculară, etc), microscopul operator, abordurile trans tubulare și nu în ultimul rând infiltrațiile la toate nivelurile coloanei vertebrale.

www.neurohope.ro

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

Forumul Softpedia foloseste "cookies" pentru a imbunatati experienta utilizatorilor Accept
Pentru detalii si optiuni legate de cookies si datele personale, consultati Politica de utilizare cookies si Politica de confidentialitate