17 февраля 2015 г., 21:18 пользователь George L. Yermulnik <[email protected]>
написал:

> >     ls $i | grep snap-\*\.\*\.\*\.jpg | awk 'NR%5!=1' | xargs rm
>
> А "ls snap-*.*.*.jpg" даёт отличный от "ls $i | grep snap-\*\.\*\.\*\.jpg"
> результат?


Первый вариант:
...
for i in `find $dir -type d`
do
    cd $i || continue;
    ls snap-*.*.*.jpg
done;


И вот тут дважды ls вызывается...
# ./clear-video-storage-3.sh
ls: snap-*.*.*.jpg: No such file or directory
snap-16.00.00.jpg       snap-16.12.00.jpg       snap-16.24.00.jpg
snap-16.36.00.jpg       snap-16.48.00.jpg
snap-16.00.04.jpg       snap-16.12.04.jpg       snap-16.24.04.jpg
snap-16.36.04.jpg       snap-16.48.04.jpg
snap-16.00.08.jpg       snap-16.12.08.jpg       snap-16.24.08.jpg
snap-16.36.08.jpg       snap-16.48.08.jpg
...

Второй вариант:

...
for i in `find $dir -type d`
do
    cd $i || continue;
    ls $i | grep -c "^snap-*.*.*.jpg"
done;


# ./clear-video-storage-3.sh
0
900


-- 
 Vladislav V. Prodan
 System & Network Administrator
 support.od.ua

Ответить