Portál AbcLinuxu, 30. prosince 2025 10:50
-printf. Podle toho, jak se to vlastně myslí.
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
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.
Ale v principu by to melo bezet (ten nastin resen uvedeny vyse)?
#!/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.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.