Bash 根据给定的输入绘制输出条
我需要一个bash脚本,该脚本将获得5个参数,然后根据每个给定参数绘制哈希,例如,输入为:Bash 根据给定的输入绘制输出条,bash,shell,Bash,Shell,我需要一个bash脚本,该脚本将获得5个参数,然后根据每个给定参数绘制哈希,例如,输入为: 8 10 15 5 12 输出应为: 8: ######## 10: ########## 15: ############### 5: ##### 12:############ 如果可以使其垂直,则最好查看printf,尤其是%修饰符 我认为它只使用空格填充,因此一个可能的转变是将输出导入tr,用字符替换空格 [编辑]实际上,我链接到的页面在“重复字符(例如打印一行)”下有一个有趣的技巧
8 10 15 5 12
输出应为:
8: ########
10: ##########
15: ###############
5: #####
12:############
如果可以使其垂直,则最好查看
printf
,尤其是%
修饰符
我认为它只使用空格填充,因此一个可能的转变是将输出导入tr
,用
字符替换空格
[编辑]实际上,我链接到的页面在“重复字符(例如打印一行)”下有一个有趣的技巧,值得检查。对于竖条,您可以使用以下脚本:
#!/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
#/bin/bash
最大值=0
以$@表示的v;做
如果($v>$max));那么max=$v;fi;
完成
printf“%d%d%d%d%d\n”$1$2$3$4$5
对于((i=1;i=i));然后
printf“#”
其他的
printf“”
fi
完成
printf“\n”
完成
通过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())*'#'
你能分享一下你到现在为止尝试过的吗?