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

Вопрос или проблема

Я ищу простую вещь, просто foo 8 будет выводить это:

1
2
3
4
5
6
7
8

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

Чтобы напечатать последовательность чисел, команда ‘seq’ будет вашим другом

seq 8

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

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

$ printf '%d\n' {1..8}
1
2
3
4
5
6
7
8

Вы также можете использовать команду 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

В качестве альтернативы вы можете сделать это самым простым способом, как показано ниже:

$ 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’!

Вы можете использовать эту простую команду 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

Ответ или решение

Чтобы вывести последовательность чисел от 1 до N на терминале, есть несколько методов, которые можно использовать в командной строке Bash. В данном ответе поясняются различные подходы, среди которых можно выбрать наиболее удобный.

1. Использование команды seq

Самый прямолинейный метод для отображения последовательности чисел – это команда seq. Если вы хотите вывести числа от 1 до 8, используйте следующую команду:

seq 8

Это приведет к следующему выводу:

1
2
3
4
5
6
7
8

2. Расширение скобок

Однако seq не единственный способ. Можно также воспользоваться расширением скобок {}. Для отображения чисел от 1 до 8 можно использовать:

printf '%d\n' {1..8}

Этот метод дает аналогичный результат:

1
2
3
4
5
6
7
8

3. Использование команды echo

Команда echo с расширением скобок также может быть использована для вывода чисел, но при этом вам может понадобиться дополнительная обработка:

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

На выходе вы получите числа с предварительной строкой, состоящей из пустой строки:


1
2
3
4
5
6
7
8

Если вы хотите избежать пустой строки в начале, можно использовать:

echo {1..8} | tr ' ' '\n'

4. Цикл for

Другой метод – использовать цикл for. Это особенно полезно, если вы хотите выполнять дополнительные действия с каждым числом:

for ((i=1 ; i<=8 ; i++)); do echo $i; done

Вывод будет:

1
2
3
4
5
6
7
8

5. Использование утилиты awk

Вы можете также использовать awk для достижения той же цели:

awk 'BEGIN{for(i=1;i<=8;i++) {print i;}}'

Резюме

Каждый из перечисленных методов имеет свои преимущества и может быть использован в зависимости от ваших предпочтений и контекста задачи. Важно понимать, что цифру N можно легко заменить любой положительной целой цифрой, что делает эти команды универсальными для вывода нужного вам диапазона чисел.

Таким образом, вы можете выбрать наиболее подходящий для вас способ в зависимости от ваших нужд в командной строке.

Оцените материал
Добавить комментарий

Капча загружается...