यदि यह हो सकता है कि एक बहुत ही सरल टर्मिनल प्रिंटआउट पर्याप्त होगा, और यह कि आप उल्टे कुल्हाड़ियों से संतुष्ट हो सकते हैं, तो निम्नलिखित पर विचार करें:
seq 1000 |
grep -n 11 |
while IFS=: read -r n match
do printf "%0$((n/10))s\n" "$match"
done
उपरोक्त चार्ट्स आउटपुट में पैटर्न 11 की प्रत्येक घटना के लिए 10% पैमाने पर एक औंधा प्रवृत्ति है seq 1000
।
ऐशे ही:
11
110
111
112
113
114
115
116
117
118
119
211
311
411
511
611
711
811
911
डॉट्स और घटना गिनती के साथ यह हो सकता है:
seq 1000 |
grep -n 11 | {
i=0
while IFS=: read -r n match
do printf "%02d%0$((n/10))s\n" "$((i+=1))" .
done; }
... जो प्रिंट करता है ...
01 .
02 .
03 .
04 .
05 .
06 .
07 .
08 .
09 .
10 .
11 .
12 .
13 .
14 .
15 .
16 .
17 .
18 .
19 .
आप अपने उदाहरण की तरह कुल्हाड़ियों को बहुत अधिक काम के साथ प्राप्त कर सकते हैं और tput
आपको प्रत्येक घटना के लिए कर्सर को स्थानांतरित करने के लिए \033[A
भागने (या इसके समकक्ष अपने टर्मिनल एमुलेटर के साथ संगत है) करने की आवश्यकता होगी।
अगर awk
की printf
POSIX-कवच की तरह समर्थन करता है अंतरिक्ष गद्दी printf
की संभावना कहीं अधिक कुशलता से और साथ ही और - करता है, तो आप इसे भी ऐसा ही करने के लिए उपयोग कर सकते हैं। मैं, हालांकि, उपयोग करने का तरीका नहीं जानता awk
।