Portál AbcLinuxu, 12. května 2025 08:58
ls /var/lib/mysql/namedb/*.MYD | while read FILE do SUM=($(du -hsb "$FILE")) SUM=$(($SUM+$SUM)) done echo "Total bytes:" $TOTAL
edit echo "Total bytes: $SUM"
while read FILE; do ... ; done <<<"$(ls ...)"což je jen substituce a přesměrování, nikoli roura.
Roura vytváří subshell, takže nastavení proměnných po jejím skončení zmizí.Aha, a kde vidíš že mám rouru? Díky
a kde je uložený ten výsledek? Žádnou proměnou nevidím. Díkwhile read FILE; do ... ; done <<<"$(ls ...)"
du -scb /var/lib/mysql/namedb/*.MYD | tail -n1
Ja napríklad keď chcem spočítať obsah adresára tak použijem príkaz du -sh
.
Môžeš si to upraviť podľa seba.
du -sh *.MYD
Až teraz som zistil, že to nerobí to čo chceš.
Skús to zadať takto du -ch
. Síce to výpíše aj veľkosti adresárov ale nakoniec napíše ceľkovú veľkosť. Vybrať len koniec môžeš pomocou príkazu grep -E "total"
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.