このガイドでは、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
これにより、次のような出力が表示されます。
- 01/03/2016
- 02/03/2016
- 03/03/2016
あなたは%02gに気づくでしょう。 e、f、gの3つの形式があります。
これらの異なる形式を使用する場合の例として、次のコマンドを試してみてください。
%eの出力は次のとおりです。 %fの出力は次のとおりです。 最後に%gの出力は次のようになります。 seqコマンドをforループの一部として使用すると、同じコードを一定回数実行することができます。 たとえば、「hello world」という用語を10回表示するとします。 これはあなたがそれを行う方法です: デフォルトでは、seqコマンドは新しい行に各番号を表示します。 これは、使用したい任意の区切り文字に変更することができます。 たとえば、カンマを使用して数字を区切りたい場合は、次の構文を使用します。 スペースを使いたい場合は、引用符で囲む必要があります: 数字をファイルに出力すると、数字が異なる長さの数十と数百をステップアップすると、迷惑をかける可能性があります。 例えば: すべての数字を次のように同じ長さにすることができます。 上記のコマンドを実行すると、出力は次のようになります。 番号は逆順で表示できます。 たとえば、数字10〜1を表示する場合は、次の構文を使用できます。 シーケンスコマンドを使用すると、浮動小数点数を操作することもできます。 たとえば、0と1の間のすべての数値を0.1ステップで表示するには、次のようにします。 seqコマンドは、bashスクリプトの一部として使用するとより便利です。seq -f "%e" 1 0.5 3seq -f "%f" 1 0.5 3seq -f "%g" 1 0.5 3
Forループの一部としてのSeqコマンドの使用
$(seq 10)のiのために行うエコー "hello world"完了 シーケンスセパレータを変更する
seq -s、10seq -s "" 10 シーケンス番号を同じ長さにする
seq -w 10000
逆順で番号を表示する
seq 10 -1 1 浮動小数点数
seq 0 0.1 1 概要




