Çok basit bir terminal çıktısının yeterli olabileceği ve ters çevrilmiş eksenlerden memnun olabileceğiniz durumlarda, aşağıdakileri göz önünde bulundurun:
seq 1000 |
grep -n 11 |
while IFS=: read -r n match
do printf "%0$((n/10))s\n" "$match"
done
Yukarıdaki grafik , çıkışın 11 örneğinin her meydana gelmesi için% 10 ölçeğinde ters bir eğilim göstermektedir seq 1000
.
Bunun gibi, böyle:
11
110
111
112
113
114
115
116
117
118
119
211
311
411
511
611
711
811
911
Noktalar ve oluşum sayılarıyla şunlar olabilir:
seq 1000 |
grep -n 11 | {
i=0
while IFS=: read -r n match
do printf "%02d%0$((n/10))s\n" "$((i+=1))" .
done; }
... hangi baskılar ...
01 .
02 .
03 .
04 .
05 .
06 .
07 .
08 .
09 .
10 .
11 .
12 .
13 .
14 .
15 .
16 .
17 .
18 .
19 .
Sen çok daha fazla çalışması ile örnekteki gibi eksenleri almak ve olabilir tput
- yapmanız gereken istediğiniz \033[A
kaçış (veya terminal emülatörü ile uyumludur olarak eşdeğeri) her bir oluşumda bir çizgi yukarı imleci hareket ettirmek için.
Eğer awk
bireyin printf
POSIX kabuğu gibi destekleri uzay-dolgu printf
olasılıkla çok daha verimli yanı ve - yapar, o zaman aynı şeyi kullanabilirsiniz. Ancak, nasıl kullanılacağını bilmiyorum awk
.