博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
每日一题20180327
阅读量:6618 次
发布时间:2019-06-25

本文共 1267 字,大约阅读时间需要 4 分钟。

  hot3.png

一、问题

1.1 输出一个 10位的随机数

1.2 形象地显示最常用的30个命令的使用频率

1.3 一个《黑客帝国》效果的实现

二、答案

2.1

head -c10 <(echo $RANDOM$RANDOM$RANDOM)

2.2

history|awk '{print $2}'|sort|uniq -c|sort -rn|head -30|awk '!max{max=$1;}{r="";i=100*$1/max;while(i-->0)r=r"#";printf "%50s %5d %s %s",$2,$1,r,"\n";}'

分析:

# 输出常用命令及其统计数history|awk '{print $2}'|sort|uniq -c|sort -rn|head -30 > a.txt# awk根据统计数输出统计柱状图awk '!max{max=$1;}{r="";i=100*$1/max;while(i-->0)r=r"#";printf "%50s %5d %s %s",$2,$1,r,"\n";}' a.txt!max{max=$1;}  如果未定义max,就将$1赋值给max,因为是从大到小排序的,所以max是最大值i=100*$1/max;  按最大数分成100份,每个命令所占份数while(i-->0)r=r"#";printf "%50s %5d %s %s",$2,$1,r,"\n";  循环输出柱状图

2.3

echo -ne "\e[32m" ; while true ; do echo -ne "\e[$(($RANDOM % 2 + 1))m" ; tr -c "[:print:]" " " < /dev/urandom | dd count=1 bs=50 2> /dev/null ; done

分析:

echo-e表示激活转义字符-n表示输入最后不加换行符"\e[32m"\e[+数字+m固定写法# 文字风格0 重置风格1 粗体4 下划线5 点线7 反转颜色8 隐藏# 文字颜色30 黑色31 红色32 绿色33 黄色34 蓝色35 红紫色36 蓝绿色37 白色# 背景色40 黑色41 红色42 绿色43 黄色44 蓝色45 红紫色46 蓝绿色47 白色tr -c "[:print:]" " " < /dev/urandom表示把/dev/urandom里不能打印的字符全部替换为空格-c表示把不属于"[:print:]"字符集的字符替换为" "字符集如果第二个字符集不写则执行删除不属于第一字符集的内容接着一个管道符连接到dd count=1 bs=50 2> /dev/null表示每50个字节往屏幕输出count=1 表示仅读取的次数bs=50 设置每次读取或输入的字节数和ibs=50和obs=50效果一样2> /dev/null 将错误输出到/dev/null

三、参考

转载于:https://my.oschina.net/yysue/blog/1785917

你可能感兴趣的文章
初尝dinnernow
查看>>
linux中生成考核用的GPT分区表结构修复案例
查看>>
综合应用WPF/WCF/WF/LINQ之三十九:实现一个简单的DataGrid之获取某格的原始(或当前)行(或列)的Index...
查看>>
SharePoint Server 2013 之一:为SharePoint启航
查看>>
UpdatePanel的妙用:Incremental Content
查看>>
羊坊店不眠夜
查看>>
让Windows CE 6.0 R2支持.NET CF 3.5
查看>>
鼠标滑过某一个图标时,提示讯息
查看>>
转载:如何运用VI编辑器进行查找替换
查看>>
Storyboard只支持iOS5.0或者以上的版本
查看>>
搜索引擎蜘蛛爬虫原理
查看>>
《孔子》观后感
查看>>
kafka备份机制——zk选举leader,leader在broker里负责备份
查看>>
PictureBox 读取图片及绘画
查看>>
MFC 的CLIST控件
查看>>
android92 aidl远程进程通信
查看>>
[Java IO]01_File类和RandomAccessFile类
查看>>
PDF.NET(PWMIS数据开发框架)之SQL-MAP目标和规范
查看>>
Hadoop HDFS概念学习系列之HDFS Master/Slave架构(十)
查看>>
Windows c++应用程序通用日志组件(组件及测试程序下载)
查看>>