Итерация в bash

Итерация в bash

Сообщение nezabudka » 12 дек 2015, 13:52

Есть в bash конструкция {0..10} означающая последовательность
ряда цифр от 0 до 10 . Вывести ее очень просто
Код: выделить все
for i in {0..10}; do echo $i; done

Но вот вставить обычным образом интервалы в виде переменных
к сожалению не получается и строка вида
Код: выделить все
for i in {0..$max}

возвращает не ряд цифр а эту же конструкцию с цифрой хранящейся
в данной переменной.
Я подобрала основные заменители данной строки:
Код: выделить все
for (( i=0; i<=$max; i++ ));
for i in $(seq 1 2 $max); # второе число шаг(2)
for i in $(eval echo {1..$max..5}); #последнее число интервал(5)
for i in file{1..10..2}.txt;

Последний пример я включила потому что мне он показался интересным.
В высше приведенных примерах все интервалы, кроме последнего, способны
правильно использовать значения переменных на любых позициях этих конструкций.
Шаг последовательности параметр не обязательный и по дефолту равен единице.
Последний раз редактировалось nezabudka 13 дек 2015, 10:18, всего редактировалось 1 раз.
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 6 месяцев 1 день
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.

Итерация в bash

Спонсор

Спонсор
 

Re: Итерация в bash

Сообщение Oleg65 » 13 дек 2015, 01:31

Ну, Вы как-то сразу всех поставили в рамки... А eval, например? Или интерес конкретно к этой конструкции?
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Сообщений: 862
Стаж: 3 года 9 месяцев
Откуда: г.Коломна Моск.обл.
Благодарил (а): 72 раз.
Поблагодарили: 209 раз.

Re: Итерация в bash

Сообщение nezabudka » 13 дек 2015, 10:01

Oleg65 писал(а):

Ну, Вы как-то сразу всех поставили в рамки... А eval, например? Или интерес конкретно к этой конструкции?

Интересный прием выступать от имени всех
Если внимательно посмотрите, то как раз увидите в моих примерах
конструкцию с eval
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 6 месяцев 1 день
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.

Re: Итерация в bash

Сообщение Oleg65 » 13 дек 2015, 16:00

Виноват, не углядел с разбегу... :oops:
Аватар пользователя
Oleg65
Местный говорун
Местный говорун
 
Сообщений: 862
Стаж: 3 года 9 месяцев
Откуда: г.Коломна Моск.обл.
Благодарил (а): 72 раз.
Поблагодарили: 209 раз.

Re: Итерация в bash

Сообщение nezabudka » 13 дек 2015, 18:01

Oleg65. Тогда с вас новая тема :)
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 6 месяцев 1 день
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.

Re: Итерация в bash

Сообщение Шпак Дмитрий » 14 дек 2015, 10:59

Всегда юзаю (( )), самый удобный и самый быстрый вариант и работает пост-декремент, и можно сразу с несколькими переменными работать, коротко и удобно.
Шпак Дмитрий
Местный говорун
Местный говорун
 
Сообщений: 589
Стаж: 3 года 8 месяцев 30 дней
Откуда: Russian_federation, какой то
Благодарил (а): 20 раз.
Поблагодарили: 145 раз.

Re: Итерация в bash

Сообщение nezabudka » 16 дек 2015, 11:58

Шпак Дмитрий писал(а):

Всегда юзаю (( )), самый удобный и самый быстрый вариант и работает пост-декремент, и можно сразу с несколькими переменными работать, коротко и удобно.

Согласна, но дело все в том что приходится не только писать но читать и работать
с чужим кодом.
"I invented the term Object-Oriented and I can tell you I did not have C++ in mind." - Alan Kay
Аватар пользователя
nezabudka
Местный говорун
Местный говорун
 
Автор темы
Сообщений: 613
Фото: 180
Стаж: 3 года 6 месяцев 1 день
Откуда: Ростов на Дону
Благодарил (а): 286 раз.
Поблагодарили: 145 раз.

Re: Итерация в bash

Сообщение Шпак Дмитрий » 16 дек 2015, 19:11

nezabudka писал(а):

Шпак Дмитрий писал(а):

Всегда юзаю (( )), самый удобный и самый быстрый вариант и работает пост-декремент, и можно сразу с несколькими переменными работать, коротко и удобно.

Согласна, но дело все в том что приходится не только писать но читать и работать
с чужим кодом.



Это ты права. :give_rose:
Шпак Дмитрий
Местный говорун
Местный говорун
 
Сообщений: 589
Стаж: 3 года 8 месяцев 30 дней
Откуда: Russian_federation, какой то
Благодарил (а): 20 раз.
Поблагодарили: 145 раз.


Вернуться в Bash

Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1

cron