The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Помогите написать скрипт с использованием du и сложениями"
Версия для распечатки Пред. тема | След. тема
Форум Программирование под UNIX
Исходное сообщение [ Отслеживать ]

. "Помогите написать скрипт с использованием du и сложениями" +/
Сообщение от Im27th (ok), 04-Сен-09, 10:02 
>Не нужно писать подсуммы с перестановками на shell, в Solaris для этого
>есть Perl.
>
>du -s */* | perl -e 'while (<>) { ($s,$d1, $d2) = split /[\s\/]+/; $size{$d2}{$d1} = $s; $size{$d2}{"\rTOTAL"}+= $s; } foreach $d2 (keys %size) { foreach $d1 (sort keys %{$size{$d2}}) {print "\t$d1 $d2 $size{$d2}{$d1}\n";}}'

Perl - классно. Попробую разобраться.
А пока что вот что вышло (тестирую на CentOS):

find /dir1/data -maxdepth 1 -mindepth 1 -type d | cut -d/ -f4 > 1.txt;
j=`cat 1.txt | wc -l`
i=1
for i in {1,2,3}
do
CURDIR=`head -n $i 1.txt | tail -1`
du -k -s -c /dir*/data/$CURDIR
done

Теперь:
1. В Solaris нет maxdepth mindepth
2. В Solaris нет du -c
3. Не могу сделать нормальный цикл - как сделать, чтобы было не for i in {1,2,3} а for i и количество циклов раное j

4. Пока разбираюсь с этим - следующим пунктом народу захотелось, чтобы ещё напротив каждого каталога стояла время последней его модификации.
Я понимаю, что надо что-то типа ls -lc, но как бы одну дату вытащить без всей мишуры?
Или опять заталкивать в файл и обрезать?

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Помогите написать скрипт с использованием du и сложениями, Im27th, 01-Сен-09, 12:56  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру