Как в shell сгенерировать последовательность
30.11.2008
Достаточно часто приходится генирировать последовательности в shell. Например, создать 10 файлов с разными именами, или переименовать, или добавить в vxvm диски, присвоив им новые имена, или отформатировать последовательно диски с командной строки на дисковом массиве, ну и т.д. Самый простой и правильный способ — это использовать команду seq, но к сожалению, ее в solaris по умолчанию нет.
Итак, несколько примеров, как напечатать цифры от 1 до 10:
Эти генерилки работают везде
$ i=0; while [ $i -lt 11 ]; do echo $i; i=`expr $i + 1` ; done
$ for i in 1 2 3 4 5 6 7 8 9 10; do echo $i; done
$ perl -e 'print "$_\n" foreach(1..10)'
Эта работает только в bash
$ for (( i = 1; i < 11; i++ )); do echo $i; done
а эта только в linux
$ seq 1 10
30.11.2008 в 23:17
Также такой цикл поможет сгенерировать последовательность:
for i in {0..11}; do echo $i; done
01.12.2008 в 13:02
Это тоже только в bash