17.02.2015 04:34, Vladislav V. Prodan пишет:
> Имеем хранилище изображений с камер на ZFS. Изображения сохраняются каждые
> 15 секунд.
> Нужно периодически прореживать, оставлять каждое 5-е изображение
> 
> 
> Скрипт работает примерно около суток. Хочется, побыстрее.
> 
> Благодарю за мнения и помощь.
> 
> #!/bin/sh
> 
> dir=/backup/AAA/video/home/2014/09/
> 
> #exit
> 
> # delete all video
> find $dir -type f -name "*.mp4" -o -name "*.avi"   -exec rm -rf {} \;
> 
> 
> # leave every fifth file, and the rest - remove
> for i in `find $dir -type d`
> do
>     cd $i || exit;
>     ls $i | grep snap-\*\.\*\.\*\.jpg | awk 'NR%5!=1' | xargs -I{} -n1 rm {}
> done;
> 
> 
> 

Не знаю будет ли это быстрее, но можно попробовать сделать так
Изображения вероятно нумеруются либо дата-номер либо таймстамп
Можно считывать самое старое изображение и по циклу удалять каждые +5
изображений, увеличивать счётчик на 5 и далее по циклу.

Ответить