Linux Seqコマンドの使用例

このガイドでは、seqコマンドを使用してLinux端末内の数字のリストを生成する方法を説明します。

Seqコマンドの基本構文

1〜20の数字を画面に表示したかったとします。

次のseqコマンドは、これを行う方法を示しています。

seq 1 20

それ自体では、このコマンドはかなり役に立たない。 少なくとも、数値をファイルに出力したいと思うでしょう。

次のようにcatコマンドを使用してこれを行うことができます:

seq 1 20 | cat> numberedfile

これで、各行に数字1〜20が印刷されたnumberedfileというファイルが作成されます。

これまで数のシーケンスを表示するために示してきた方法は、以下のように要約されていました。

次の20

デフォルトの開始番号は1なので、番号20を指定するだけで、seqコマンドは自動的に1から20までカウントします。

次のように、2つの異なる番号の間でカウントする場合は、長い形式を使用する必要があります。

seq 35 45

標準出力に35から45の番号が表示されます。

Seqコマンドを使用してインクリメントを設定する方法

すべての偶数を1から100の間で表示したい場合は、次の例のように、seqのインクリメント部分を使用して一度に2つの数値にすることができます。

seq 2 2 100

上記のコマンドでは、最初の番号が開始点です。

2番目の数字は、各ステップで増分する数字です(例:2 4 6 8 10)。

3番目の数字は、最終的な数です。

Seqコマンドのフォーマット

ディスプレイやファイルに数字を送るだけでは、あまり便利ではありません。

ただし、3月の日付ごとにファイルを作成することもできます。

これを行うには、次のスイッチを使用します。

seq -f "%02g / 03/2016" 31

これにより、次のような出力が表示されます。

あなたは%02gに気づくでしょう。 e、f、gの3つの形式があります。

これらの異なる形式を使用する場合の例として、次のコマンドを試してみてください。

seq -f "%e" 1 0.5 3

seq -f "%f" 1 0.5 3

seq -f "%g" 1 0.5 3

%eの出力は次のとおりです。

%fの出力は次のとおりです。

最後に%gの出力は次のようになります。

Forループの一部としてのSeqコマンドの使用

seqコマンドをforループの一部として使用すると、同じコードを一定回数実行することができます。

たとえば、「hello world」という用語を10回表示するとします。

これはあなたがそれを行う方法です:

$(seq 10)のiのために

行う

エコー "hello world"

完了

シーケンスセパレータを変更する

デフォルトでは、seqコマンドは新しい行に各番号を表示します。

これは、使用したい任意の区切り文字に変更することができます。

たとえば、カンマを使用して数字を区切りたい場合は、次の構文を使用します。

seq -s、10

スペースを使いたい場合は、引用符で囲む必要があります:

seq -s "" 10

シーケンス番号を同じ長さにする


数字をファイルに出力すると、数字が異なる長さの数十と数百をステップアップすると、迷惑をかける可能性があります。

例えば:

すべての数字を次のように同じ長さにすることができます。

seq -w 10000

上記のコマンドを実行すると、出力は次のようになります。

逆順で番号を表示する

番号は逆順で表示できます。

たとえば、数字10〜1を表示する場合は、次の構文を使用できます。

seq 10 -1 1

浮動小数点数

シーケンスコマンドを使用すると、浮動小数点数を操作することもできます。

たとえば、0と1の間のすべての数値を0.1ステップで表示するには、次のようにします。

seq 0 0.1 1

概要

seqコマンドは、bashスクリプトの一部として使用するとより便利です。