Информация об изменениях

Сообщение Re[12]: Hello UNIX! от 03.09.2015 5:41

Изменено 03.09.2015 5:43 Somescout

Здравствуйте, MTD, Вы писали:

MTD>Здравствуйте, Mamut, Вы писали:


M>>Сколько манов надо скурить, чтобы написать эту строку? Видимо, знания о всех параметрах ls и stat'а, а также скриптования баша, у тебя сами в голове нарисовались, да.


MTD>Я просто знал, что есть ls и stat, а найти какой ключ показывает размер и сортирует по дате заняло 10 секунд в манах: man ls / sort / reverse и man stat / size


В том и проблемы в башевых комбайнах — всё (относительно) просто только если комбайн (ls в данном случае) поддерживает нужную возможность.

К примеру. Допустим задача усложняется — удалить нужно по гигабайту файлов у каждого пользователя:
ls -File | group { (Get-Acl $_).Owner) } | % {
  $total = 0
  $_.Group | sort LastWriteTime | ? { ($total+=$_.Length) -lt 1GB } | rm
}

Изменения в коде: группировка по владельцу и проход по группе вместо каталога. По сути добавление трёх команд, причём исходные не изменились.
Что в баше?
Re[12]: Hello UNIX!
Здравствуйте, MTD, Вы писали:

MTD>Здравствуйте, Mamut, Вы писали:


M>>Сколько манов надо скурить, чтобы написать эту строку? Видимо, знания о всех параметрах ls и stat'а, а также скриптования баша, у тебя сами в голове нарисовались, да.


MTD>Я просто знал, что есть ls и stat, а найти какой ключ показывает размер и сортирует по дате заняло 10 секунд в манах: man ls / sort / reverse и man stat / size


В том и проблемы в башевых комбайнах — всё (относительно) просто только если комбайн (ls в данном случае) поддерживает нужную возможность.

К примеру. Допустим задача усложняется — удалить нужно по гигабайту файлов у каждого пользователя:
ls -File | group { (Get-Acl $_).Owner } | % {
  $total = 0
  $_.Group | sort LastWriteTime | ? { ($total+=$_.Length) -lt 1GB } | rm
}

Изменения в коде: группировка по владельцу и проход по группе вместо каталога. По сути добавление трёх команд, причём исходные не изменились.
Что в баше?