如何在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
  • 阅读 ( 156 )
  • 分类:互联网

你可能感兴趣的文章

如何在linux上安装和使用powershell

... 在本文中,我将向您展示如何在Linux上安装、运行和使用PowerShell! ...

  • 发布于 2021-03-16 02:34
  • 阅读 ( 303 )

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

...许您在Android设备上安装诚实善良的Linux应用程序。下面是如何使用Termux应用程序。 ...

  • 发布于 2021-03-18 07:26
  • 阅读 ( 367 )

如何在windows10上获得linux bash shell

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

  • 发布于 2021-03-21 11:48
  • 阅读 ( 282 )

linux下如何重命名文件

要在Linux中重命名文件吗?如果您知道如何在Windows、macOS或Chrome操作系统中完成这项工作,那么您就知道如何在这里完成这项工作。在大多数版本的Linux上,您只需右键单击一个文件并选择Rename选项。 ...

  • 发布于 2021-03-22 02:48
  • 阅读 ( 268 )

linux正在吃掉你的公羊吗?如何管理你的记忆

...的内存。为了理解到底发生了什么,我们必须看看Linux是如何管理内存的。 ...

  • 发布于 2021-03-23 08:31
  • 阅读 ( 310 )

如何在linux上使用groupadd管理用户组

... 相关:如何在Linux中更改密码 ...

  • 发布于 2021-03-26 17:15
  • 阅读 ( 183 )

如何在linux中添加用户

想在Linux系统上添加用户但不知道如何添加?在Linux上使用命令行界面管理用户无疑是一项复杂的工作。而对于初学者来说,即使添加新用户也是一场噩梦。 ...

  • 发布于 2021-03-26 23:29
  • 阅读 ( 331 )

在linux中,“bash”是什么意思?

...在这篇短文中,我们将探讨Bash是什么,它做什么,以及如何开始使用它。 ...

  • 发布于 2021-03-28 13:14
  • 阅读 ( 449 )

如何在linux上使用端口敲打(以及为什么不应该)

...安全的例子,通过默默无闻,这一概念是根本上的缺陷。如何访问系统的秘密是安全的,因为只有特定组中的人知道它。但是一旦这个秘密被泄露,或者因为它被揭露,被观察,被猜测,或者被解决了,你的安全就无效了。最好...

  • 发布于 2021-04-03 02:18
  • 阅读 ( 148 )

如何向linux shell脚本添加gui

...ash脚本中使用GUI窗口、滑块、单选按钮、进度条等。学习如何使用zenity工具箱,并对Bash脚本进行整容。我们会教你怎么做。 Bash脚本是一种功能强大的编程语言,由于它内置在Bash shell中,因此每个人都可以随时使用它。这是一...

  • 发布于 2021-04-03 07:01
  • 阅读 ( 289 )
mk138011
mk138011

0 篇文章

相关推荐