如何在linux上使用seq命令

Linux seq命令可以在眨眼之間生成數字列表。但是如何將這個功能付諸實際使用呢?我們將向您展示seq如何為您帶來便利。...

Linux seq命令可以在眨眼之間生成數字列表。但是如何將這個功能付諸實際使用呢?我們將向您展示seq如何為您帶來便利。

seq命令

乍一看,Linux seq命令似乎有些奇怪。它可以讓你快速生成數字序列,就這樣!不過,這裡的關鍵字是“快速”。過一會兒,您將看到這個小命令的執行速度有多快。

不管它們是如何生成的,一個數字列表有多有用?seq命令於1985年新增到第8版Unix中。從那以後它就一直在那裡,所以它必須做一些有價值的事情。

Unix的哲學思想是,它充滿了做一件事並且做得很好的小實用程式。這種哲學的中心原則之一是編寫接受其他程式輸入的程式。當然,這也意味著這些程式必鬚生成可以被其他程式用作輸入的輸出。

當seq命令與其他使用其輸出的命令一起使用時(透過管道或命令列擴充套件),seq命令就變成了自己的命令。

基本列表生成

如果用一個數字作為命令列引數啟動seq,它將從1計數到該數字。然後在終端視窗中列印數字,每行一個數字,如下所示:

seq 6

如何在linux上使用seq命令

如果在命令列中鍵入兩個數字,第一個數字將是起始數字,第二個數字將是結束數字,如下所示:

seq 4 10

如何在linux上使用seq命令

可以透過包含第三個數字來設定步長。它位於開始和結束數字之間。我們鍵入以下命令,要求seq建立一個以6開頭、以48結尾的數字列表,並使用6的步驟:

seq 6 6 48

如何在linux上使用seq命令

倒數

我們還可以讓seq建立一個從最高到最低的數字列表。然而,要做到這一點,我們必須提供一個消極的步驟。

以下命令生成一個以6為單位從24到12計數的列表,因為我們將該步驟鍵入為負數:

seq 24 -6 12

如何在linux上使用seq命令

小數計數

開始、結束和步數也可以是小數。如果其中任何一個數字是十進位制的,其他的也被視為十進位制。以下命令生成步長為0.2的數字列表:

seq 1 0.2 2

如何在linux上使用seq命令

seq的速度

seq的速度非常快,唯一的瓶頸是在終端視窗中鍵入命令所需的時間。為了測試它的速度,我們需要一個25萬個數字的列表。

我們鍵入以下命令,使用time命令檢視該過程需要多長時間才能完成:

time seq 250000

如何在linux上使用seq命令

結果顯示在列表下方。即使在我們中等功率的測試PC上,seq的速度也出奇的快。

如何在linux上使用seq命令

整個列表在大約1/3秒內建立並寫入螢幕。如果我們將列表重定向到一個檔案中,我們甚至可以避免在終端視窗中鍵入的開銷。

為此,我們鍵入以下內容:

time seq 250000 > numbers.txt

如何在linux上使用seq命令

完成列表和建立檔案所需的時間現在約為1/7秒。

使用分隔符

新的行字元是列表中每個數字之間顯示的預設字元。這就是為什麼它們會顯示為一個垂直列表,每個數字都在自己的行上。如果需要,可以提供另一個分隔符。

例如,假設您需要建立逗號分隔的列表、用冒號分隔的列表或任何其他標點符號或符號。分隔符實際上是一個字串,因此可以使用多個字元。

我們將使用-s(分隔符)選項。以下命令將生成逗號分隔的列表:

seq s, 6 6 36

此命令將使用冒號(:)作為分隔符:

seq -s: 6 6 36

此命令告訴seq使用兩個連字元(-)作為分隔符:

seq -s-- 6 6 36

如何在linux上使用seq命令

使用格式字串

seq命令還支援C語言樣式的格式字串。這些允許您格式化輸出,而不僅僅是指定分隔符。要使用格式字串,請使用-f(format)選項。

以下命令告訴seq使用零將輸出填充為兩個字元:

seq -f "%02g" 6

如何在linux上使用seq命令

我們可以用我們喜歡的任何文字格式化字串,並將數字放在字串中的任意位置,如下所示:

seq -f "Number %02g in a C-like format string" 6

如何在linux上使用seq命令

設定零填充的快速方法

設定零填充的最快方法是使用-w(等寬)選項。這告訴seq使用零來填充數字,因此它們的寬度都與最大的數字相同。

以下命令以100為單位從0到1000計數,所有數字都將用零填充:

seq -w 0 100 1000

如何在linux上使用seq命令

最長的數字需要四個字元,因此所有較窄的數字都用零填充到該寬度(即使0也填充到四個零)。

管道順序進入bc

透過將分隔符設定為數學符號,並將列表匯入bc命令,我們可以計算該列表中的數字。

以下命令生成由星號(*)分隔的數字列表,從1開始,以6結束:

seq -s* 6

如果我們將該列表輸入bc,它將使用星號(*)作為乘法符號來計算該列表:

seq -s* 6 | bc

我們也可以用其他符號來做。下面的命令使用加號(+)建立一個添加了所有數字的列表:

seq -s+ 5

我們鍵入以下內容將其匯入bc並評估列表:

seq -s+ 5 | bc

如何在linux上使用seq命令

使用seq建立檔案

touch命令更新檔案上的時間和日期戳。如果檔案不存在,觸控會建立它。我們可以使用帶有touch和seq的命令列擴充套件來建立一個主題命名但編號不同的檔案集合。

我們將建立一組10個具有相同基本名稱和不同編號的檔案(file-1.txt、file-2.txt等等)。我們鍵入以下內容:

touch $(seq -f "file-%g.txt" 1 10)

然後,我們鍵入以下內容以檢查檔案:

ls file*

如何在linux上使用seq命令

在bash迴圈中使用seq

我們可以在Bash指令碼中使用seq來控制小數的迴圈。

在編輯器中鍵入以下文字,然後將其另存為“迴圈.sh”:

#!/bin/bash for val in $(seq 5 0.2 6.6); do echo "The value is now: $val" done

接下來,我們鍵入以下內容以使新指令碼可執行:

chmod +x loop.sh

如何在linux上使用seq命令

當我們執行指令碼時,迴圈計數器被列印在終端視窗中。然後,我們可以鍵入以下內容,以檢視十進位制迴圈計數器隨著迴圈的每次迭代而增加:

./loop.sh

如何在linux上使用seq命令

記住seq也可以倒數;您可以用同樣的方法在迴圈中使用它。

又好又簡單

seq的一個特點是沒有太多的學習曲線。它有一個令人耳目一新的簡短手冊頁,但您仍然可以以有趣的方式使用它。

因為我們經常需要快速建立具有實際大小的測試檔案,所以我們將seq與格式字串一起使用。然後重定向輸出以建立一個包含任意多行偽資料的檔案。

  • 發表於 2021-04-01 11:46
  • 閱讀 ( 42 )
  • 分類:網際網路

你可能感興趣的文章

如何在linux上安裝和使用powershell

... 在本文中,我將向您展示如何在Linux上安裝、執行和使用PowerShell! ...

  • 發佈於 2021-03-16 02:34
  • 閲讀 ( 50 )

如何在android和termux上使用linux命令列

...許您在Android裝置上安裝誠實善良的Linux應用程式。下面是如何使用Termux應用程式。 ...

  • 發佈於 2021-03-18 07:26
  • 閲讀 ( 58 )

如何在windows10上獲得linux bash shell

... 如何在windows10上安裝linux bash shell ...

  • 發佈於 2021-03-21 11:48
  • 閲讀 ( 58 )

linux下如何重新命名檔案

要在Linux中重新命名檔案嗎?如果您知道如何在Windows、macOS或Chrome作業系統中完成這項工作,那麼您就知道如何在這裡完成這項工作。在大多數版本的Linux上,您只需右鍵單擊一個檔案並選擇Rename選項。 ...

  • 發佈於 2021-03-22 02:48
  • 閲讀 ( 63 )

linux正在吃掉你的公羊嗎?如何管理你的記憶

...記憶體。為了理解到底發生了什麼,我們必須看看Linux是如何管理記憶體的。 ...

  • 發佈於 2021-03-23 08:31
  • 閲讀 ( 54 )

如何在linux上使用groupadd管理使用者組

... 相關:如何在Linux中更改密碼 ...

  • 發佈於 2021-03-26 17:15
  • 閲讀 ( 39 )

如何在linux中新增使用者

想在Linux系統上新增使用者但不知道如何新增?在Linux上使用命令列介面管理使用者無疑是一項複雜的工作。而對於初學者來說,即使新增新使用者也是一場噩夢。 ...

  • 發佈於 2021-03-26 23:29
  • 閲讀 ( 64 )

如何檢查linux核心和作業系統版本

...版本可以讓您對安全更新做出重要決定。我們將向您展示如何找到這些,無論您使用哪個發行版。 滾動和點釋放 你知道你在執行哪個版本的Linux嗎?你能找到核心版本嗎?Linux的滾動發行版,如Arch、Manjaro和openSUSE,經常使用自...

  • 發佈於 2021-04-01 13:11
  • 閲讀 ( 49 )

如何在linux上使用history命令

...複您過去執行的命令。一旦您瞭解了Linux history命令以及如何使用它,它就可以顯著地提高您的生產效率。 操縱歷史 正如喬治桑塔亞納(georgestantayana)的一句名言:“那些記不住過去的人註定要重蹈覆轍。”不幸的是,在Linux...

  • 發佈於 2021-04-02 18:17
  • 閲讀 ( 48 )

如何在linux上使用埠敲打(以及為什麼不應該)

...安全的例子,透過默默無聞,這一概念是根本上的缺陷。如何訪問系統的祕密是安全的,因為只有特定組中的人知道它。但是一旦這個祕密被洩露,或者因為它被揭露,被觀察,被猜測,或者被解決了,你的安全就無效了。最好...

  • 發佈於 2021-04-03 02:18
  • 閲讀 ( 50 )
mk138011
mk138011

0 篇文章

作家榜

  1. admin 0 文章
  2. 孫小欽 0 文章
  3. JVhby0 0 文章
  4. fvpvzrr 0 文章
  5. 0sus8kksc 0 文章
  6. zsfn1903 0 文章
  7. w91395898 0 文章
  8. SuperQueen123 0 文章

相關推薦