?

Log in

Мальчик-дебил - Оживший юзерпик

Sep. 27th, 2010

12:17 pm - Мальчик-дебил

Previous Entry Share Next Entry

Интересно, только я до сих пор не знал о существовании seq(1) и писал каждый раз

setenv N 1
while ( $N < 100 )
    do something with $N
    setenv N `expr $N + 1`
end


да?

Comments:

[User Picture]
From:poige
Date:September 27th, 2010 08:27 am (UTC)

> да?

(Link)
Ну почему же -- кто-нибудь тоже может не знает. :-)

(А на csh вообще не рекомендуется же скриптить...)
(Reply) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 08:28 am (UTC)

Re: > да?

(Link)
(а я на нем руками пишу. Это и злит, в скрипте-то пофиг, сколько букв набрать — один раз-то :)
(Reply) (Parent) (Thread)
[User Picture]
From:jerom
Date:September 27th, 2010 08:33 am (UTC)
(Link)
Нет никакого seq. Есть jot.
(Reply) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 08:33 am (UTC)
(Link)
Command not found
(Reply) (Parent) (Thread)
[User Picture]
From:_slw
Date:September 27th, 2010 08:36 am (UTC)
(Link)
поставь фрю
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 08:37 am (UTC)
(Link)
Щазз!

Оно athena-jot называлось.
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 08:35 am (UTC)
(Link)
Тоже хорошо, и, видимо, старше линукса.
(Reply) (Parent) (Thread)
From:asd
Date:September 27th, 2010 09:22 am (UTC)

cat ~/bin/seq

(Link)
MIN=$1
MAX=$2
PAD=$3
LENGTH=${#MAX}

if [ $PAD ]; then
W="-w %0$LENGTH""d"
fi

let NMB_STEP=$MAX-$MIN+1
jot $W $NMB_STEP $MIN
(Reply) (Parent) (Thread)
[User Picture]
From:nathoo
Date:September 27th, 2010 08:58 am (UTC)

спасибо: гуру!

(Link)
(уходит просветленный)
(Reply) (Thread)
[User Picture]
From:_nik_
Date:September 27th, 2010 09:00 am (UTC)
(Link)
День открытий. Скажем, я только сегодня узнал про существование переменной окружения $RANDOM
(Reply) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 09:02 am (UTC)
(Link)
Тоже дело, но bash-only…
(Reply) (Parent) (Thread)
[User Picture]
From:_nik_
Date:September 27th, 2010 09:08 am (UTC)
(Link)
Не only. Ещё zsh и, по слухам, csh.
(Reply) (Parent) (Thread)
[User Picture]
From:alexott
Date:September 27th, 2010 09:12 am (UTC)
(Link)
в zsh и seq не всегда нужен, поскольку можно просто писать
for ((i = 0 ; i < 2 ; i += 0.2)) ; do ... done
(Reply) (Parent) (Thread)
[User Picture]
From:svv
Date:September 27th, 2010 09:24 am (UTC)
(Link)
seq умеет padding нулями делать
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 09:16 am (UTC)
(Link)
В tcsh нету.
(Reply) (Parent) (Thread)
[User Picture]
From:_nik_
Date:September 27th, 2010 09:20 am (UTC)
(Link)
Ага, я ошибся, не csh, а ksh. Там есть, только что проверил:

$ csh
$ echo $RANDOM
RANDOM: Undefined variable.
$ ksh
$ echo $RANDOM
15136
(Reply) (Parent) (Thread)
[User Picture]
From:andjel
Date:September 27th, 2010 09:16 am (UTC)
(Link)
SEQ есть не везде
(Reply) (Thread)
[User Picture]
From:lonelyhome
Date:September 27th, 2010 09:25 am (UTC)
(Link)
$ seq
ksh: seq: not found
$ uname -a
SunOS XXXXXXXXXXppp3 5.10 Generic_138889-08 i86pc i386 i86pc

Т.е. твой вариант подходит только для одноразовых скриптов.
(Reply) (Thread)
[User Picture]
From:vitus_wagner
Date:September 27th, 2010 10:13 am (UTC)
(Link)
Поставтье GNU coreutils (с диска software companion) и оно там будет. А может у вас просто /usr/sfw не в путях?
(Reply) (Parent) (Thread)
[User Picture]
From:lonelyhome
Date:September 27th, 2010 10:40 am (UTC)
(Link)
не всегда можно что-то поставить. Я, собственно, клоню к тому, что решение Бориса не универсальное, но в каких-то случаях весьма удобное.
(Reply) (Parent) (Thread)
[User Picture]
From:r_a_d
Date:September 27th, 2010 10:43 am (UTC)
(Link)
дада, coreutils на соляре рулят
(Reply) (Parent) (Thread)
[User Picture]
From:r_a_d
Date:September 27th, 2010 10:43 am (UTC)
(Link)
зашёл бы в наш тогдашний отдел и признался, мы бы тебе помогли :)
(Reply) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 10:48 am (UTC)
(Link)
Я не ощущал это как проблему :) Вот проигрывание случайного mp3 с command line — ощущал, написал Ценную Тулзу™ :)
(Reply) (Parent) (Thread)
[User Picture]
From:r_a_d
Date:September 27th, 2010 11:36 am (UTC)
(Link)
о! делись!
у меня как убрали xmms из дистрибутивов, то хоть вешайся...
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 11:37 am (UTC)
(Link)
xtalk.msk.su/tmp/randomize.c :)
(Reply) (Parent) (Thread)
[User Picture]
From:besm6
Date:September 27th, 2010 10:50 am (UTC)
(Link)
Я про seq знаю, но с тех пор, как узнал, кода с такой функциональностью писать ни разу не доводилось. Ну, на классических sh. На zsh, когда в командной строке, очень помогает идиома {1..100}.
(Reply) (Thread)
[User Picture]
From:msh
Date:September 27th, 2010 12:14 pm (UTC)
(Link)
Надо же, люди до сих пор скрипты на шелле пишут, хотя ведь знают современные скриптовые языки (например, TCL)!
(Reply) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 12:17 pm (UTC)
(Link)
Это не скрипты! Это интерактив!
(Reply) (Parent) (Thread)
[User Picture]
From:guterm
Date:September 27th, 2010 12:42 pm (UTC)
(Link)
tclsh и вперед, полный интерактив!
(Reply) (Parent) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 01:15 pm (UTC)
(Link)
Там нету readline и вообще, держите себя в руках :)
(Reply) (Parent) (Thread)
[User Picture]
From:mur57
Date:September 27th, 2010 02:38 pm (UTC)
(Link)
теперь важно не забыть это через неделю и по привычке не начать набивать мышечно-подкорково-механическое. ;)
(Reply) (Thread)
[User Picture]
From:tobotras
Date:September 27th, 2010 02:43 pm (UTC)
(Link)
Специально для этого и пишу всячину в ЖЖ, глядишь, и запомнится! Помогает, правда, не всегда :-D
(Reply) (Parent) (Thread)