Linuxのseqコマンドを使用して数字のシーケンスを生成します(推奨)

Linuxのseqコマンドを使用して数字のシーケンスを生成します(推奨)

Linux の seq コマンドは、数字のリストを非常に高速に生成でき、使いやすく柔軟性に優れています。

Linux で数字のリストを生成する最も簡単な方法の 1 つは、seq (シーケンス) コマンドを使用することです。最も単純な形式では、 seq は数値を引数として受け取り、1 からその数値までのリストを出力します。例えば:

$ 5 番目
1
2
3
4
5

特に指定がない限り、seq は常に 1 から始まります。最後の数字の前に別の数字を挿入することで、シーケンスを開始できます。

$ 連続 3 5
3
4
5

増分を指定

増分ステップを指定することもできます。 3 の倍数をリストしたいとします。開始点 (この例では最初の 3)、増分 (2 番目の 3)、終了点 (18) を指定します。

$ 連続 3 3 18
3
6
9
12
15
18

大きい数値から小さい数値へ変化させるには、負の増分 (つまり、減分) を使用することもできます。

$ 連続 18 -3 3
18
15
12
9
6
3

seq コマンドも非常に高速です。おそらく 10 秒以内に 100 万個の数字のリストを生成できるでしょう。

$ 時間シーケンス 1000000
1
2
3
…
…
999998
999999
1000000
実数 0分9秒290秒 <== 9秒以上
ユーザー 0m0.020s
システム 0分0.899秒

区切り文字の使用

もう一つの非常に便利なオプションは、セパレーターを使用することです。各行に 1 つの数字をリストする代わりに、カンマ、コロン、またはその他の文字を挿入できます。 -s オプションの後には、使用する文字が続きます。

$ シーケンス: 3 3 18
3:6:9:12:15:18

実際、数字を 1 行に収めたいだけの場合は、デフォルトの改行の代わりにスペースを使用できます。

$ シーケンス -s' ' 3 3 18
3 6 9 12 15 18

数学を始める

数値のシーケンスを生成することから、それを使用して計算を行うことまで、大きな飛躍のように思えるかもしれませんが、適切な区切り文字を使用すれば、 seq を bc に渡して計算することが簡単にできます。例えば:

$ シーケンス -s* 5 | bc
120

このコマンドで何が起こったのでしょうか?見てみましょう。まず、seq は * を区切り文字として使用して数値のリストを生成します。

$ シーケンス -s* 5
1*2*3*4*5

次に、文字列を計算機 (bc) に渡し、計算機はすぐに数値を乗算します。 1 秒以内に非常に大規模な計算を実行できます。

$ 時間シーケンス -s* 117 | bc
39699371608087208954019596294986306477904063601683223011297484643104\
22041758630649341780708631240196854767624444057168110272995649603642\
560353748940315749184568295424000000000000000000000000000
実数 0分0.003秒
ユーザー 0分0.004秒
システム 0分0.000秒

制限

選択できる区切り文字は 1 つだけなので、計算は非常に制限されます。 bc のみを使用すると、より複雑な数学演算を実行できます。また、seq は数値でのみ機能します。単一の文字のシーケンスを生成するには、代わりに次のコマンドを使用します。

$ エコー {a..g}
ABCDEF

要約する

上記は、Linux seq コマンドを使用してデジタル シーケンスを生成する方法について紹介したものです。お役に立てば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。
この記事が役に立ったと思われた方は、ぜひ転載していただき、出典を明記してください。ありがとうございます!

以下もご興味があるかもしれません:
  • Linux seqコマンドの使い方
  • Linux seqコマンドの使い方の詳しい説明

<<:  ミニプログラムはミニプログラムクラウドを使用してWeChatの支払い機能を実装します

>>:  MySQL における「:=」と「=」の違いの簡単な分析

推薦する

Flutterを使用して移動可能なスタックウィジェット機能を作成する

この投稿では、キャンバスとドラッグ可能なノード インターフェースを使用するデスクトップおよび Web...

フロントエンドの状態管理(パート2)

目次1. 再出発1.1. ストア(司書) 1.2. 状態(書籍) 1.3. アクション(図書貸出リス...

Vue コンポーネントはどのように解析され、レンダリングされるのでしょうか?

序文この記事では、Vue コンポーネントがどのように解析され、レンダリングされるかを説明します。 V...

MySQL DML言語操作例

追加説明、外部キー: 外部キーを使用しないでください。すべての外部キーの概念はアプリケーション層で解...

Nginx は高可用性クラスタ構築を実装します (Keepalived+Haproxy+Nginx)

1. コンポーネントと実装機能Keepalived: Haproxy サービスの高可用性を実現し、...

Windows に mysql5.7.28 winx64 の解凍バージョンをインストールするための詳細なチュートリアル

目次1. 解凍する2. データフォルダを作成する3. MySQLに環境変数を追加する3.1 コントロ...

メタ情報に基づいて時間指定のページ更新またはリダイレクトを実装する

メタを使用して、ページの時間指定更新またはジャンプを実装します。 XML/HTML コードコンテンツ...

MySQL マルチテーブルクエリの詳細な説明

よく食べて十分に休息を取るというのは簡単なことのように思えますが、実際に実行するのはそれほど簡単では...

Vue+element+springboot でファイルダウンロードの進行状況バー表示機能を実装する例

目次1. 需要背景2. 最適化計画3. 具体的な実施3.1 フロントエンドコード3.2 背景コード4...

MySQLステートメントの記述と実行順序を理解するだけです

MySQL ステートメントの書き込み順序と実行順序には大きな違いがあります。書き順、mysql の一...

MySQL をクリーンにアンインストールする方法 (テスト済みで効果的)

Mysql を完全にアンインストールするにはどうすればいいですか?以下の手順に従って実行してくださ...

MySQL パーティション テーブルに関するパフォーマンス バグ

目次2. pt-pmapを使用したスタック分析3. このコラムのボトルネックポイントの分析4. パー...

Html+CSS フローティング広告ストリップの実装

1.html部分コードをコピーコードは次のとおりです。 <!DOCTYPE html> ...

いくつかの CSS3 タグの短縮形 (推奨)

border-radius: CSS3 丸い角構文: border-radius: 25px;楕円...

WeChatアプレットで画像の幅と高さを取得する方法

起源最近、私は要件 A に取り組んでいます。そこには、次のように記述される小さな機能ポイントがありま...