Zeige 1 bis N auf dem Terminal

8

Ich suche nur nach einfacher Sache, foo 8 zeigt dies:

1
2
3
4
5
6
7
8

PS: Ich suche nur nach der Befehlszeile. Ich weiß, wie man das schafft, indem ich for auf der bash benutze

    
Mohammad Reza Rezwani 25.07.2014, 14:00

5 Antworten

32

Um eine Zahlenfolge zu drucken, ist der Befehl 'seq' Ihr Freund

seq 8
    
jhilmer 25.07.2014, 14:04
17

{1..8} gibt Ihnen einen einfachen Argumentbereich in Bash.

Wenn Sie das Zeile für Zeile benötigen, würde ich vorschlagen, dass Sie etwas wie printf einspeisen:

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

Sie können auch den Befehl echo mit geschweifter Erweiterung verwenden

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

1 
2 
3 
4 
5 
6 
7 
8

Wenn Sie den ursprünglichen Zeilenumbruch nicht möchten, können Sie einen der folgenden Befehle verwenden.

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

Alternativ können Sie es auf einfachste Weise wie folgt erhalten:

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

ODER:

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

8 kann durch Ihre positive Zahl 'N' ersetzt werden!

    
APLUS 25.07.2014 16:53
4

Sie könnten diesen einfachen Befehl for verwenden,

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

Durch awk,

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

Tags und Links