On Tuesday 17 February 2015 19:12:01 Mykola Dzham wrote:
> > On 17 Feb 2015, at 19:03, Vladislav V. Prodan <[email protected]> wrote:
> > 
> > 
> > 2015-02-17 6:29 GMT+02:00 Олександр Безпалько <[email protected]
> > <mailto:[email protected]>>: ​​​​find . -name snap-\*\.\*\.\*\.jpg
> > ​-print
> > 
> > Формирует неправильный порядок файлов
> > 
> > Далее,
> > 
> > find $i -type f -name "snap-*.*.*.jpg" -print | awk 'NR%5!=1' | wc -l
> > дает 720 файлов
> > 
> > а вот после удаления:
> > find $i -type f -name "snap-*.*.*.jpg" -print | awk 'NR%5!=1' | xargs rm
> > остается 36 файлов вместо 180
> > 
> > Есть мнение, что "xargs rm" дважды проходит
> > 
> > 
> > Остановился пока на
> > 
> > for i in `find $dir -type d`
> > do
> > 
> >     cd $i || continue;
> >     ls $i | grep snap-\*\.\*\.\*\.jpg | awk 'NR%5!=1' | xargs rm
> > 
> > done;
> 
> for i in `find $dir -type d`
> do
>   test -d $i && find $i -type f -maxdepth 1 -name 'snap-*.*.*.jpg’ | sort |
> awk 'NR%5!=1' | xargs rm done

 Лучше наверное 
find $1 -name ... -type ...
чтобы не дергать stat(2) на каждом обьекте файловой системы.

Ответить