首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Bash script-打印一个直方图,显示我登录了多少次

Bash script-打印一个直方图,显示我登录了多少次
EN

Stack Overflow用户
提问于 2021-12-19 23:08:41
回答 1查看 63关注 0票数 -1

我想要创建一个shell脚本,它每天计算我登录computer.Then的次数,打印一个简单的柱状图,显示每天连接的数量。示例:

代码语言:javascript
复制
./script.sh
2021-01-11  
**
2021-11-22  
**************
2021-11-01  
*
2021-10-14  
*

我写了这行

代码语言:javascript
复制
last --time-format iso | grep "^$(whoami)" | awk '{print $1 "\t" $4}' | awk -F "T" '{print $1 "\t" $2}' | awk '{print $1 "\t" $2}' | sort -k2 | uniq -c

产出:

代码语言:javascript
复制
k   2021-12-19
k   2021-12-19
k   2021-12-18
k   2021-12-17
k   2021-12-17
k   2021-12-17
k   2021-12-16
k   2021-12-15
k   2021-12-14
k   2021-12-13
k   2021-12-12

现在,我想我需要将它放入for循环do awk $i 'BEGIN {print $3} END {print SOMETHINK I DONT KNOW}'中。

EN

回答 1

Stack Overflow用户

发布于 2021-12-20 00:00:07

用GNU awk

代码语言:javascript
复制
last --time-format iso | awk -v username=$(whoami) '
    $1 == username { counts[$4] += 1 }
    END {
        n = asorti(counts, dates)
        while (++i <= n) {
            print dates[i]
            for (j = 1; j <= counts[dates[i]]; j++) printf "*"
            printf "\n"
        }
    }
'
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70416019

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档