Portál AbcLinuxu, 23. července 2025 13:39


Dotaz: skript - velikost souboru

4.6.2005 17:11 Noclaf
skript - velikost souboru
Přečteno: 227×
Odpovědět | Admin
Bry den, potreboval bych nejaky nastin skriptu, ktery zobrazi velikost vsech souboru v podadresarich aktualniho adresare (rozdeleno po tech podadresarich, ne dohromady). Tz stejna funkce jako prikaz "du". Je to moje uloha a ja se zasekl na tom, ze se musi vsechno prohledat do hloubky a jeste k tomu ale zustat rozdelene po tech podadresarich. Dik za pomoc.
Nástroje: Začni sledovat (1) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

4.6.2005 17:55 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: skript - velikost souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Prohlédněte si dřívější dotazy nebo se postavte do fronty… :-)
28.9.2005 10:59 kamco | skóre: 2
Rozbalit Rozbalit vše Re: skript - velikost souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
precitaj si manual k programi 'find' hlavne s parametrom -exec
28.9.2005 11:09 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: skript - velikost souboru
Možná by úplně stačil parametr -printf. Podle toho, jak se to vlastně myslí.
14.10.2005 17:17 Milan
Rozbalit Rozbalit vše Re: skript - velikost souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
No ja sem spis programator-reznik. Ale zkusil bych "ls -lR > nejakej.soubor" a pak bych ten soubor nasledovne potrapil v cylku (while?)

if [$(head -$PICITADLO nejakej.soubor | tail -1 | awk '{print $1}'| grep -c d) -le 1 ]; then ...v pripade ses netrefil na adresar tak podobne zbesilym sledem prikazu nactes velikost souboru (ta cast "awk {print $xx})

else

di dal

fi ...

asi to neni nejefektivnejsi ale jak sem uved na zacatku.....
14.10.2005 17:36 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: skript - velikost souboru
Nehledáte-li zábavu na dlouhé zimní večery, toto rozhodně nezkoušejte...
Josef Kufner avatar 14.10.2005 18:18 Josef Kufner | skóre: 70
Rozbalit Rozbalit vše Re: skript - velikost souboru
No ja sem spis programator-reznik. Ale zkusil bych "ls -lR > nejakej.soubor" a pak bych ten soubor nasledovne potrapil v cylku (while?)
Je mi jasný že roury jsou po těch 32 letech trošku ošoupaný, ale i tak fungují stále celkem dobře ;-)
Hello world ! Segmentation fault (core dumped)
14.10.2005 18:27 unchallenger | skóre: 69 | blog: unchallenger
Rozbalit Rozbalit vše Re: skript - velikost souboru
Především je ls -lR na jednom z čelních míst blacklistu programů, jejichž výstupy nikdy neparsovat -- a už druhý příspěvek správně říká, který program byl pro tyto situace stvořen.
14.10.2005 18:31 milan
Rozbalit Rozbalit vše Re: skript - velikost souboru
Tak dobre, echo "programator-reznik" | sed 's/reznik/istalater/g' :-)

Ale v principu by to melo bezet (ten nastin resen uvedeny vyse)?
15.10.2005 10:11 Jan Martinek | skóre: 43 | blog: johny | Brno
Rozbalit Rozbalit vše Re: skript - velikost souboru
Odpovědět | | Sbalit | Link | Blokovat | Admin
Tady máš ten skript:
#!/usr/bin/env python
import os

for directory in os.listdir('.'):
  if not os.path.isdir(directory): continue
  size = 0

  for root, dirs, files in os.walk(directory, topdown=False):
    for file in files:
        filepath = os.path.join(root, file)
        if os.path.islink(filepath): continue
        size = size + os.path.getsize(filepath)

  print directory, size
Narozdíl od "du" nepřipočítává 4096 bytů za každý adresář, takže se výsledky liší (vždy o násobky 4096). Už se mi to tam nechtělo dopisovat.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.