我需要一个bash脚本,它将获得5个参数,然后根据每个给定的参数绘制哈希值,例如输入为:
8 10 15 5 12
输出应为:
8: ########
10: ##########
15: ###############
5: #####
12:############
如果可以使它垂直,那就更好了
答案 0 :(得分:1)
对于竖条,您可以使用此脚本:
#!/bin/bash
max=0
for v in $@; 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 $@; do
if (( $j >= $i )); then
printf "# "
else
printf " "
fi
done
printf "\n"
done
答案 1 :(得分:0)
查看printf
here,尤其是%
修饰符。
我认为它只使用空格填充,因此可能的转变是将输出传递到tr
以用#
字符替换空格。
[edit]实际上,我链接到的页面在&#34; 重复一个字符(例如打印一行)&#34;下有一个有趣的技巧。这值得检查。
答案 2 :(得分: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())*'#'