Skip to main content

Linux Seq命令的示例用法

生信技巧第20 单细胞转录组数据分析 (六月 2025)

生信技巧第20 单细胞转录组数据分析 (六月 2025)
Anonim

本指南将向您展示如何使用seq命令在Linux终端中生成数字列表。

Seq命令的基本语法

想象一下,你想在屏幕上显示数字1到20。

以下seq命令显示如何执行此操作:

seq 1 20

就其本身而言,这个命令相当无用。至少,您需要将数字输出到文件。

您可以使用cat命令执行此操作,如下所示:

seq 1 20 | cat>编号文件

现在,您将拥有一个名为numberedfile的文件,每行打印数字1到20。

到目前为止我们显示的用于显示数字序列的方法可以简化为以下方法:

seq 20

默认的起始编号是1,因此只需提供编号20,seq命令就会自动从1到20计数。

如果要计算两个不同的数字,您只需要使用长格式,如下所示:

seq 35 45

这将显示标准输出的数字35到45。

如何使用Seq命令设置增量

如果要显示1到100之间的所有偶数,可以一次使用seq的增量部分到步骤2的数字,如下例所示:

seq 2 2 100

在上面的命令中,第一个数字是起点。

第二个数字是每个步骤中递增的数字,例如,2 4 6 8 10。

第三个数字是要计入的最终数字。

格式化Seq命令

简单地将数字发送到显示器或文件并不是特别有用。

但是,也许您想要创建一个包含三月份每个日期的文件。

为此,您可以使用以下开关:

seq -f“%02g / 03/2016”31

这将显示类似于以下内容的输出:

  • 01/03/2016
  • 02/03/2016
  • 03/03/2016

你会注意到%02g。有三种不同的格式:e,f和g。

作为使用这些不同格式时会发生什么的示例,请尝试以下命令:

seq -f“%e”1 0.5 3seq -f“%f”1 0.5 3seq -f“%g”1 0.5 3

%e的输出如下:

  • 1.000000e + 00
  • 1.500000e + 00
  • 2.000000e + 00
  • 2.500000e + 00
  • 3.000000e + 00

%f的输出如下:

  • 1.000000
  • 1.500000
  • 2.000000
  • 2.500000
  • 3.000000

最后,%g的输出如下:

  • 1
  • 1.5
  • 2
  • 2.5
  • 3

使用Seq命令作为For循环的一部分

您可以使用seq命令作为for循环的一部分,以便在设定的次数内运行相同的代码。

例如,假设您要显示“hello world”一词十次。

这是你如何做到的:

for $ in $(seq 10)回声“你好世界”DONE

更改序列分隔符

默认情况下,seq命令显示新行上的每个数字。

这可以更改为您要使用的任何分隔字符。

例如,如果您希望使用逗号分隔数字,请使用以下语法:

seq -s,10

如果您更喜欢使用空格,则需要将其放在引号中:

seq -s“”10

使序列号具有相同的长度

当您将数字输出到文件时,您可能会感到恼火,因为当您逐步增加数十和数百时,数字的长度会有所不同。

例如:

  • 1
  • 2
  • 3
  • 10
  • 11
  • 99
  • 100
  • 200
  • 1000
  • 10000

您可以使所有数字的长度如下:

seq -w 10000

运行上面的命令时,输出现在如下:

  • 00001
  • 00002
  • 00003
  • 00010
  • 00011
  • 00099
  • 00100
  • 00200
  • 01000
  • 10000

以逆序显示数字

您可以按相反顺序显示序列中的数字。

例如,如果要显示数字10到1,可以使用以下语法:

seq 10 -1 1

浮点数字

您也可以使用sequence命令处理浮点数。

例如,如果要以0.1步显示0到1之间的每个数字,可以按如下方式执行:

seq 0 0.1 1

摘要

当用作bash脚本的一部分时,seq命令更有用。