我想要打印數字1到100個數字,但在列中:第一列中的前1到10,第二列中的11到20,然後第三列中的21到30。 ..,第10欄91到100。打印數字1到100在10列
如何在Bash中實現此目標?我曾嘗試:
#!/bin/bash
for ((i=1; i <= 100 ; i++)) do
echo " $i"
done
我想要打印數字1到100個數字,但在列中:第一列中的前1到10,第二列中的11到20,然後第三列中的21到30。 ..,第10欄91到100。打印數字1到100在10列
如何在Bash中實現此目標?我曾嘗試:
#!/bin/bash
for ((i=1; i <= 100 ; i++)) do
echo " $i"
done
它有點重,因爲它產生許多子進程。但在第一欄張貼的1班輪
paste <(seq 1 10) <(seq 11 20) <(seq 21 30) <(seq 31 40) <(seq 41 50) <(seq 51 60) <(seq 61 70) <(seq 71 80) <(seq 81 90) <(seq 91 100)
1-10,11-20第2列等..
和
seq 1 100 | paste - - - - - - - - - -
第一行1-10,第二行11-20等。
注意:第二個命令和第一個命令中有10個命令,<(命令)表示進程替換,即替換該過程的輸出
編輯:在第一列中第二列方法純粹使用用於循環
for ((i=1;i<=10;i++)); do for ((j=i;j<=(i+90);j+=10)); do printf "%2d " $j done echo done
爲1-10,11-20等..
和
for ((i=0;i<10;i++)); do for ((j=1;j<=10;j++)); do printf "%2d " $[$i*10+$j] done echo done
1-10在第一排,11-20在第二行等..
我們可以使用循環來做到這一點嗎? –
@KhanduKshirsagar你爲什麼想要? – 123
還有一個更簡單的方法!
$ seq 100 | pr -10t
1 11 21 31 41 51 61 71 81 91
2 12 22 32 42 52 62 72 82 92
3 13 23 33 43 53 63 73 83 93
4 14 24 34 44 54 64 74 84 94
5 15 25 35 45 55 65 75 85 95
6 16 26 36 46 56 66 76 86 96
7 17 27 37 47 57 67 77 87 97
8 18 28 38 48 58 68 78 88 98
9 19 29 39 49 59 69 79 89 99
10 20 30 40 50 60 70 80 90 100
嘿嘿耶..多數民衆贊成更容易。我剛剛發佈了我想到的第一件事情。我想我有時候會把事情複雜化:P – ritesht93
請發表你已經嘗試 –
我試圖下面的代碼:#/斌/慶典 爲((i = 1; I <= 100;我+ +)) 做 回聲 「$ I」 !完成 –