アカウント名:
パスワード:
ほんとに簡単なベンチマークとかfor i in [0..30]do time (hoge;hoge;hogegege;>/dev/null) 2&> $i.txtdone
# つい最近も使ったなぁ
× [0..30]○ {0..30}
seqのほうが便利。seq -w だと 00, 01, 03, ... 29, 30 みたいにケタ合わせしてくれるし。
for i in `seq -w 0 30`; do ...
みたいな。
seq -wだと001 ~ 099みたいなときに対応できないので、range () {echo $(seq $1 $2 | xargs printf "%.$3d$IFS")}みたいなのを作っといて、for x in `range 1 10 2`; ...みたいに使うと便利です。
# perlで書けるともっとスマートなのかもしれない
つseq -w 1 099
curlで一発ダウンロード。refererを設定しないとダメな場合もあり。# そういう話じゃない?
for ((i=1;i=99;i++));do x=`printf "%03d" $i`; ... ;done
> # perlで書けるともっとスマートなのかもしれない
perl -e 'for (01..30) {printf "%03d\n",$_}'
とかですかね。スマートなのかどうかは微妙。
こんな感じで。
perl -e 'print "$_\n" foreach("01".."30")'
perl -e 'for($x="001";$x le "099";++$x){ hogehoge $x;}' かな。
perlらしいところではperl -e 'for($x="AA00";$x ne "ZZ99";++$x){ print "$x\n";}'とかもできるところ。'I'や'O'をskipしてくれないとか,数字は後ろである必要があるとか痒い所に手が届かないところはあるが。
> seq -wだと001 ~ 099みたいなときに対応できないので、
そんなんseq -w 1 99で作った連番の先頭に0をつけるだけで良いんじゃ無いの?bashでスクリプト書くときって、格好つけずに普通にストレートなやり方でやる方が良いと思うけど。作り捨ての場合はもちろんだけど、意外と保守性も高いよ。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
あつくて寝られない時はhackしろ! 386BSD(98)はそうやってつくられましたよ? -- あるハッカー
連番生成が助かります (スコア:0)
ほんとに簡単なベンチマークとか
for i in [0..30]
do
time (hoge;hoge;hogegege;>/dev/null) 2&> $i.txt
done
# つい最近も使ったなぁ
Re: (スコア:1)
× [0..30]
○ {0..30}
seqのほうが便利。seq -w だと 00, 01, 03, ... 29, 30 みたいにケタ合わせしてくれるし。
for i in `seq -w 0 30`; do
...
みたいな。
Re:連番生成が助かります (スコア:0)
seq -wだと001 ~ 099みたいなときに対応できないので、
range () {
echo $(seq $1 $2 | xargs printf "%.$3d$IFS")
}
みたいなのを作っといて、for x in `range 1 10 2`; ...みたいに使うと便利です。
# perlで書けるともっとスマートなのかもしれない
Re:連番生成が助かります (スコア:2)
つ
seq -w 1 099
uxi
Re:連番生成が助かります (スコア:1)
Re: (スコア:0)
curlで一発ダウンロード。refererを設定しないとダメな場合もあり。
# そういう話じゃない?
Re: (スコア:0)
for ((i=1;i=99;i++));do x=`printf "%03d" $i`; ... ;done
Re: (スコア:0)
> # perlで書けるともっとスマートなのかもしれない
perl -e 'for (01..30) {printf "%03d\n",$_}'
とかですかね。スマートなのかどうかは微妙。
Re:連番生成が助かります (スコア:2)
こんな感じで。
perl -e 'print "$_\n" foreach("01".."30")'
HIRATA Yasuyuki
Re: (スコア:0)
# perlで書けるともっとスマートなのかもしれない
perl -e 'for($x="001";$x le "099";++$x){ hogehoge $x;}' かな。
perlらしいところでは
perl -e 'for($x="AA00";$x ne "ZZ99";++$x){ print "$x\n";}'とかもできるところ。
'I'や'O'をskipしてくれないとか,数字は後ろである必要があるとか痒い所に手が届かないところはあるが。
Re: (スコア:0)
> seq -wだと001 ~ 099みたいなときに対応できないので、
そんなんseq -w 1 99で作った連番の先頭に0をつけるだけで良いんじゃ無いの?
bashでスクリプト書くときって、格好つけずに普通にストレートなやり方でやる方が良いと思うけど。
作り捨ての場合はもちろんだけど、意外と保守性も高いよ。