Mostra 1 a N no terminal

8

Estou procurando algo simples, foo 8 mostrará isso:

1
2
3
4
5
6
7
8

PS: Estou procurando apenas pela linha de comando. Eu sei como criar isso usando for no bash

    
por Mohammad Reza Rezwani 25.07.2014 / 14:00

5 respostas

32

Para imprimir uma seqüência de números, o comando 'seq' é seu amigo

seq 8
    
por jhilmer 25.07.2014 / 14:04
17

{1..8} fornecerá um intervalo de argumento simples no Bash.

Se você precisar dessa linha por linha, sugiro que ela seja enviada para algo como printf:

$ printf '%d\n' {1..8}
1
2
3
4
5
6
7
8
    
por Oli 25.07.2014 / 14:05
7

Você também pode usar o comando echo com expansão de chave

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

1 
2 
3 
4 
5 
6 
7 
8

Se você não quiser a nova linha inicial, você pode usar um dos comandos abaixo.

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
    
por Registered User 25.07.2014 / 16:41
6

Como alternativa, você pode obtê-lo da maneira mais simples da seguinte forma:

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

OR:

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

8 pode ser substituído pelo seu número inteiro 'N' positivo!

    
por APLUS 25.07.2014 / 16:53
4

Você pode usar este comando simples for

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

Através do awk,

$ awk 'BEGIN{for(i=1;i<=8;i++) {print i;}}'
1
2
3
4
5
6
7
8
    
por Avinash Raj 26.07.2014 / 07:57