2014-10-12 67 views
0

我需要一個bash腳本,將獲得5個參數,然後根據每個給定的參數,例如輸入是畫散列繪圖輸出棒:根據給定的輸入

8 10 15 5 12 

輸出應該是:

8: ######## 
10: ########## 
15: ############### 
    5: ##### 
12:############ 

,如果有可能,使其垂直倒不如

+0

你可以分享你到現在爲止所嘗試的嗎? – SMA 2014-10-12 13:29:55

回答

1

對於豎線,你可以使用這個腳本:

#!/bin/bash 

max=0 
for v in [email protected]; do 
    if (($v > $max)); then max=$v; fi; 
done 

printf "%d %d %d %d %d\n" $1 $2 $3 $4 $5 
for ((i=1; i<=$max; i++)); do 
    for j in [email protected]; do 
    if (($j >= $i)); then 
     printf "# " 
    else 
     printf " " 
    fi 
    done 
    printf "\n" 
done 
0

看一看printfhere,尤其是%莫difier。

我認爲它只用空格填充,所以可能的週轉方式是將輸出管道輸入到tr以用您的# char替換空格。

實際上,我鏈接的頁面在「」重複字符(例如打印一行)「有一個有趣的技巧值得檢查。

0

通過Python腳本。

#!/usr/bin/python 
import re 
with open('/path/to/input/file', 'r') as f: 
    f = f.read() 
    for i in re.finditer(r'\d+', f): 
     print i.group()+': '+int(i.group())*'#'