The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Скрипт исполняющий по порядку"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Разное / Linux)
Изначальное сообщение [ Отслеживать ]

"Скрипт исполняющий по порядку"  +/
Сообщение от SAY (??) on 20-Авг-10, 15:29 
Добрый день!

Есть файлы
00.ddd
01.ccc
02.bbb
03.aaa

как их выполнить по порядку в скрипте, если изначально неизвестно количество файлов?
пробовал:


find ./ -name "[0-9][0-9].*" -exec {} \;

но выполняются в произвольном поядке.

Спасибо!

Высказать мнение | Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Скрипт исполняющий по порядку"  +/
Сообщение от Michael (??) on 20-Авг-10, 15:39 
>[оверквотинг удален]
>как их выполнить по порядку в скрипте, если изначально неизвестно количество файлов?
>
>пробовал:
>
 
>find ./ -name "[0-9][0-9].*" -exec {} \;
>

>
>но выполняются в произвольном поядке.
>
>Спасибо!

поясните что по пошему значит "по порядку" и "в произвольном порядке"

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

2. "Скрипт исполняющий по порядку"  +/
Сообщение от SAY (??) on 20-Авг-10, 15:44 
>[оверквотинг удален]
>>пробовал:
>>
 
>>find ./ -name "[0-9][0-9].*" -exec {} \;
>>

>>
>>но выполняются в произвольном поядке.
>>
>>Спасибо!
>
>поясните что по пошему значит "по порядку" и "в произвольном порядке"

по порядку:


00.ddd
01.ccc
02.bbb
03.aaa

, но выполняется

00.ddd
03.aaa
01.ccc
02.bbb

это скорее всего связано с тем, что файлы 01.ccc и 02.bbb были созданы после 03.aaa

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

3. "Скрипт исполняющий по порядку"  +/
Сообщение от Michael (??) on 20-Авг-10, 15:53 
>[оверквотинг удален]
>
>, но выполняется
>
 
>00.ddd
>03.aaa
>01.ccc
>02.bbb
>

>это скорее всего связано с тем, что файлы 01.ccc и 02.bbb были
>созданы после 03.aaa

посмотрите в сторону sort -g

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

4. "Скрипт исполняющий по порядку"  +/
Сообщение от YuryD (??) on 20-Авг-10, 15:54 
man find на предмет -s и примечания про разное поведение
Note:  `find -s' and `find | sort' may give different results.
Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

5. "Скрипт исполняющий по порядку"  +/
Сообщение от SAY (??) on 20-Авг-10, 15:56 
> man find на предмет -s и примечания про разное поведение
> Note:  `find -s' and `find | sort' may give different
>results.

Использую CentOS 5.5
find -s вываливается с ошибкой.


find: invalid predicate `-s'

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

7. "Скрипт исполняющий по порядку"  +/
Сообщение от Pahanivo (ok) on 20-Авг-10, 16:05 
>> man find на предмет -s и примечания про разное поведение
>> Note:  `find -s' and `find | sort' may give different
>>results.
>
>Использую CentOS 5.5
>find -s вываливается с ошибкой.
>
 
>find: invalid predicate `-s'
>

как я понял надо сортировать по номеру перед точкой
смотри в мане 1) ключ разделителя полей - юзай точку 2) использовать цифровую сортировку по первому полю

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

6. "Скрипт исполняющий по порядку"  +/
Сообщение от 1 (??) on 20-Авг-10, 16:01 
>[оверквотинг удален]
>как их выполнить по порядку в скрипте, если изначально неизвестно количество файлов?
>
>пробовал:
>
 
>find ./ -name "[0-9][0-9].*" -exec {} \;
>

>
>но выполняются в произвольном поядке.
>
>Спасибо!

Попробуйте так:
for i in `find . -type f | sort -n`;
do
exec $i;
done

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

8. "Скрипт исполняющий по порядку"  +/
Сообщение от SAY (??) on 20-Авг-10, 16:07 
>[оверквотинг удален]
>>
>>но выполняются в произвольном поядке.
>>
>>Спасибо!
>
>Попробуйте так:
>for i in `find . -type f | sort -n`;
>do
>exec $i;
>done

Выполняется только 00.ddd и все

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

9. "Скрипт исполняющий по порядку"  +/
Сообщение от SAY (??) on 20-Авг-10, 16:13 
>[оверквотинг удален]
>>>
>>>Спасибо!
>>
>>Попробуйте так:
>>for i in `find . -type f | sort -n`;
>>do
>>exec $i;
>>done
>
>Выполняется только 00.ddd и все

Спасибо за наводку!
Так работает:


find ./ -name "[0-9][0-9].*" | sort | while read a
do
  $a
done

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

10. "Скрипт исполняющий по порядку"  +/
Сообщение от DeadLoco (ok) on 20-Авг-10, 17:00 
>Спасибо за наводку!
>Так работает:

Еще вот такой вариант возможен:

find ./ -name "[0-9][0-9].*" | sort | xargs -L 1 -J % %

Высказать мнение | Ответить | Правка | ^ | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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