Показать 1 до N на терминале

Я ищу простую вещь, просто foo 8 покажет это:

1
2
3
4
5
6
7
8

PS: я ищу только командную строку. Я знаю, как создать это, используя for на bash

7
задан 12 August 2014 в 13:28

5 ответов

Для печати последовательности числа, команда 'seq' является другом

seq 8
31
ответ дан 12 August 2014 в 13:28

{1..8} даст Вам простой диапазон аргумента в Bash.

, Если бы Вам нужно это линию за линией, я предложил бы подать это к чему-то как printf:

$ printf '%d\n' {1..8}
1
2
3
4
5
6
7
8
17
ответ дан 12 August 2014 в 13:28

Можно также использовать echo команда с расширением фигурной скобки

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

1 
2 
3 
4 
5 
6 
7 
8

, Если Вы не хотите начальной новой строки, можно использовать один из ниже команд.

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
7
ответ дан 12 August 2014 в 13:28

Кроме того, можно получить его с самым простым путем следующим образом:

$ echo {1..8} | tr ' ' '\n'
1
2
3
4
5
6
7
8

ИЛИ:

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

8 может быть заменен Вашим 'N' положительное целое число!

6
ответ дан 12 August 2014 в 13:28

Вы могли использовать это простое for команда,

$ for i in {1..8}; do echo $i; done
1
2
3
4
5
6
7
8

Через awk,

$ awk 'BEGIN{for(i=1;i<=8;i++) {print i;}}'
1
2
3
4
5
6
7
8
4
ответ дан 12 August 2014 в 13:28

Другие вопросы по тегам:

Похожие вопросы: