在终端上显示 1 到 N

Moh*_*ani 8 command-line

我正在寻找简单的东西,foo 8将显示:

1
2
3
4
5
6
7
8
Run Code Online (Sandbox Code Playgroud)

PS:我只是在寻找命令行。我知道如何通过for在 bash 上使用来创建它

jhi*_*mer 29

要打印数字序列,命令“seq”是您的朋友

seq 8
Run Code Online (Sandbox Code Playgroud)

  • @professorfish 对于第二个,它是`seq 8 2 16`,增量在第一个和最后一个之间。`seq 8 16 2` 不打印任何内容。(我也经常弄错。) (6认同)
  • 此外,“seq 5 10”打印“5 6 7 8 9 10”,“seq 8 16 2”打印“8 10 12 14 16”(每步增加2) (2认同)

Oli*_*Oli 16

{1..8} 将在 Bash 中为您提供一个简单的参数范围。

如果你需要一行一行,我建议把它提供给 printf 之类的东西:

$ printf '%d\n' {1..8}
1
2
3
4
5
6
7
8
Run Code Online (Sandbox Code Playgroud)


Reg*_*ser 7

您还可以使用echo带有括号扩展的命令

echo -e "\n"{1..8}

1 
2 
3 
4 
5 
6 
7 
8
Run Code Online (Sandbox Code Playgroud)

如果您不想要初始换行符,可以使用以下命令之一。

echo -e "\n"{1..8}|tail -n8

echo -e "\n"{1..8}|grep .

echo -e "\n"{1..8}|grep [0-9]

echo -e "\n"{1..8}|sed 1d
Run Code Online (Sandbox Code Playgroud)


APL*_*LUS 6

或者,您可以通过以下最简单的方式获取它:

$ echo {1..8} | tr ' ' '\n'
1
2
3
4
5
6
7
8
Run Code Online (Sandbox Code Playgroud)

或者:

$ for ((i=1 ; i<=8 ; i++)) do echo $i ; done;
1
2
3
4
5
6
7
8
Run Code Online (Sandbox Code Playgroud)

8 可以用你的'N'正整数代替!