LoginSignup
1
0

More than 5 years have passed since last update.

上限を設けずに整数列を生成したい

Posted at

整数の列を生成するにあたって、基本的にはseqコマンドでことたりるのですが、欠点がないわけではありません。とりわけ整数列の生成にあたって上限を設けたくない場合seqは「上限の数までの整数列を出力する」コマンドなので、無制限にひたすら整数列を作るにはやや不向きです。たとえばseq 999999というようにして、上限に巨大数を指定すれば、疑似的に求める機能を実現することもできますが、やや不格好な印象を受けます。

では「上限を設けずに整数列を生成し続けたい」という際にはどうすればよいのかというと、次のようなイディオムを利用することができます。

yes | awk '{print NR}'

awkNRは組み込み変数で、読み込んでいる行数を保持します。つまり1行読み込むたびにNRの値は1,2,3,4...というように増えていくわけで、これは求める整数列にほかなりません。そして「読み込むための行」をどのように生成するかですが、これはyesコマンドを利用しているというわけです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0