你们中的某些人很有可能以前从我们的日历中看到过各种选择,但我们希望每个人至少有一件新事物。

我们已经以某种方式进入了本系列的第七天,而没有创建一个实际的日历来庆祝,所以今天让我们使用命令行工具: cal 。 就其本身而言, cal可能并不是最令人惊奇的工具,但是我们可以使用其他一些实用工具来为其增添些趣味。

可能是, cal已经安装在您的系统上。 要在这种情况下使用它,只需键入cal

$ cal
December 2018  
Su Mo Tu We Th Fr Sa
1
2  3  4  5  6  7  8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

我们不会在本文中进行高级用法,因此,如果您想了解有关cal的更多信息,请查看Opensource.com社区主持人Don Watkin 对date和cal命令的出色概述 。

现在,让我们用一个漂亮的盒子给它加香料,就像我们在前面的Linux玩具文章中介绍的那样。 我将使用菱形框,并使用一些填充使其对齐。

$ cal | boxes -d diamonds -p a1l4t2 
/\          /\          /\
/\//\\/\    /\//\\/\    /\//\\/\
/\//\\\///\\/\//\\\///\\/\//\\\///\\/\
//\\\//\/\\///\\\//\/\\///\\\//\/\\///\\
\\//\/                            \/\\//
\/                                  \/
/\           December 2018          /\
//\\      Su Mo Tu We Th Fr Sa      //\\
\\//                         1      \\//
\/        2  3  4  5  6  7  8       \/
/\        9 10 11 12 13 14 15       /\
//\\      16 17 18 19 20 21 22      //\\
\\//      23 24 25 26 27 28 29      \\//
\/       30 31                      \/
/\                                  /\
//\\/\                            /\//\\
\\///\\/\//\\\///\\/\//\\\///\\/\//\\\//
\/\\///\\\//\/\\///\\\//\/\\///\\\//\/
\/\\//\/    \/\\//\/    \/\\//\/
\/          \/          \/

看起来不错,但为了很好的考虑,让我们将整个内容放到第二个盒子中,只是为了好玩。 这次我们将使用scoll设计。

cal | boxes -d diamonds -p a1t2l3 | boxes -a c -d scroll        
/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ \
|  /~~\                                              /~~\  |
|\ \   |         /\          /\          /\         |   / /|
| \   /|      /\//\\/\    /\//\\/\    /\//\\/\      |\   / |
|  ~~  |   /\//\\\///\\/\//\\\///\\/\//\\\///\\/\   |  ~~  |
|      |  //\\\//\/\\///\\\//\/\\///\\\//\/\\///\\  |      |
|      |  \\//\/                            \/\\//  |      |
|      |   \/                                  \/   |      |
|      |   /\          December 2018           /\   |      |
|      |  //\\     Su Mo Tu We Th Fr Sa       //\\  |      |
|      |  \\//                        1       \\//  |      |
|      |   \/       2  3  4  5  6  7  8        \/   |      |
|      |   /\       9 10 11 12 13 14 15        /\   |      |
|      |  //\\     16 17 18 19 20 21 22       //\\  |      |
|      |  \\//     23 24 25 26 27 28 29       \\//  |      |
|      |   \/      30 31                       \/   |      |
|      |   /\                                  /\   |      |
|      |  //\\/\                            /\//\\  |      |
|      |  \\///\\/\//\\\///\\/\//\\\///\\/\//\\\//  |      |
|      |   \/\\///\\\//\/\\///\\\//\/\\///\\\//\/   |      |
|      |      \/\\//\/    \/\\//\/    \/\\//\/      |      |
|      |         \/          \/          \/         |      |
|      |                                            |      |
\     |~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~|     /
\   /                                              \   /
~~~                                                ~~~

完善。 现在,这里变得有些疯狂了。 我喜欢我们的设计,但是,我想全力以赴。 所以我要给它上色。 但是在Opensource.com的工作人员所在的北卡罗来纳州罗利市办公室,这个周末下雪的机会很大。 因此,让我们享受我们的彩色出现日历,然后用雪将其擦掉。

对于下雪,我要抓住在CLIMagic上发现的Bash和Gawk优点的漂亮片段 。 如果您不熟悉CLIMagic,请访问他们的网站并在Twitter上关注他们。 您会很高兴的。

所以我们开始。 让我们清除屏幕,放开我们的方框日历,给它上色,等待几秒钟,然后将其暴风雪打散。 都在一行中,在终端上。

 $  clear ; cal | boxes -d diamonds -p a1t2l3 | boxes -a c -d scroll | lolcat; sleep 3 ; while :; do echo $LINES $COLUMNS $ ( ( $RANDOM % $COLUMNS ) ) $ ( printf "\u2744 \n " ) ; sleep 0.1 ; done | gawk '{a[$3]=0;for(x in a) {o=a[x];a[x]=a[x]+1;printf "\033[%s;%sH ",o,x;printf "\033[%s;%sH%s \033[0;0H",a[x],x,$4;}}' 

然后我们去。

为了使它在您的系统上运行,您需要所有引用的实用程序(框,lolcat,cal,gawk等),并且需要使用支持Unicode的终端模拟器。

您是否有最喜欢的命令行玩具,您认为我应该对此进行介绍? 该系列的日历大部分已填写完毕,但我还剩下一些地方。 在下面的评论中让我知道,我将对其进行检查。 如果有空间,我将尝试包括在内。 如果没有,但是我收到了一些不错的意见,最后我将对荣誉提名进行汇总。

查看昨天的玩具, 与Nyan Cat在Linux命令行中休息一下 ,明天再回来看看!

翻译自: https://opensource.com/article/18/12/linux-toy-cal

在Linux命令行上计划自己的假期日历相关推荐

  1. linux将日历信息导出到,在 Linux 命令行中规划你的假期日历

    原标题:在 Linux 命令行中规划你的假期日历 将命令链接在一起,构建一个彩色日历,然后在暴风雪中将其拂去. -- Jason Baker 欢迎阅读今天推出的 Linux 命令行玩具降临日历.如果这 ...

  2. MobaXterm连接远程服务器,使用Linux命令行上传下载文件

    文章目录 一.MobaXterm连接远程服务器 二.Linux命令行上传和下载文件 三.服务器挂载U盘传输文件 四..ipynb文件转化为.py文件 五.关闭本地电脑,服务器运行python 项目 问 ...

  3. linux 下载了个图形软件 解压后 jar png,安装及使用pngquant在Linux命令行上压缩PNG图像...

    pngquant是一个命令行实用程序和一个用于PNG图像有损压缩的库,本文就介绍安装及使用pngquant在Linux命令行上压缩PNG图像,pngquant可以将PNG图像的大小减少多达70%,同时 ...

  4. Linux命令行上执行操作,不退回命令行的解决方法

    问题描述: 如果你现在登录Centos执行了某个操作,但是操作一直占用命令行,命令行显示的也都是这个命令相关的操作,我想做其它事情 ,该怎么办呢 ? 解决方法: 根据<Linux命令行与Shel ...

  5. Linux命令行上传文件到百度网盘

    最近在学习 MySQL 的 bin-log 时候考虑到数据备份的问题,突然想到如果能将数据通过 Linux 命令行方式备份到百度网盘,那是一件多么牛逼的事情.百度网盘有免费的 2TB 存储空间,而且有 ...

  6. linux继续执行上一个命令快捷键,整理了上linux 命令行上常用的 快捷键

    整理了下linux 命令行下常用的 快捷键 整理了下linux 命令行下常用的 快捷键 1.CTRL + u 删除正行你敲的命令. 例如 : find . -name 'hoho' 按下CTRL + ...

  7. Linux 命令行上执行多个命令(分隔符简介使用)

    Linux 系统可以在一个命令行上执行多个命令,相应的命令行的分隔符简介及使用如下: ; 如果命令被分号(;)所分隔,那么命令会连续的执行下去,就算是错误的命令也会继续执行后面的命令.示例如下: ls ...

  8. aspell_如何使用Aspell在Linux命令行上检查拼写

    aspell 如今,正确的拼写对许多人来说似乎并不重要. 但是,对于我们当中的某些人来说,它是对的. 是的, 我的那些人之一. 虽然我不是拼写警察,但是当我遇到拼写错误的单词时,仍然会出现这些单词. ...

  9. linux强制退出命令行_在Linux命令行上使用强制

    linux强制退出命令行 在最近的历史上的某个时候,科幻家们于5月4日开始了年度庆祝星际大战的庆典,这是对绝地的祝福:"愿原力与你同在". 尽管大多数Linux用户可能不是绝地武士 ...

最新文章

  1. 日调用量超三十万亿,腾讯开源百万级服务发现和治理中心北极星
  2. 小猿圈linux之使用VMware workstation安装Linux虚拟机
  3. -- HTML标记大全参考手册[推荐]
  4. python教程书籍推荐-推荐几本对于Python初学者比较好的书籍(内含PDF)
  5. string常用操作
  6. Win7重启后IP地址无效
  7. sqlite数据库主键自增_sqlite 中主键id自增的方法(转)
  8. python中for用法_python中for的用法探索
  9. java synchronized概念用法
  10. glmark2移植到嵌入式Linux,嵌入式中移植基于Framebuffer的LittlevGL
  11. matlab实现手写数字识别案例,Matlab手写数字识别
  12. 火狐浏览器播放插件Linux,Firefox浏览器带flash播放器插件
  13. 把视频文件放在服务器上,生成链接供外部访问
  14. 一起来做个CH347的项目(应用于FPGA、CPLD、MCU)
  15. 关于Android方向传感器的终极解释
  16. 联想进入bios修复计算机,联想笔记本安装win10后开启界面一直是自动修复,进不了BIOS重装系统...
  17. 新版HyperMesh的Assemblies中调出下拉菜单查看Component(装配关系模型树)
  18. 谷歌地球(Google Earth) 7.3.3.7721
  19. java生成unix格式文件_Java Windows文本格式和Liunx/Unix文本格式转换
  20. 在IOS中根据圆心坐标、半径和角度计算圆弧上的点坐标

热门文章

  1. 手机访问网站获取外网IP
  2. j90度度复数运算_虚数i的运算公式及实际意义
  3. 【SAS应用统计分析】方差分析
  4. echarts之legend-改变图例的图标为自定义图片
  5. flv.js解决直播流延迟、断流重连以及画面卡死
  6. (原创)android6.0系统 PowerManager深入分析(很具体)
  7. 串口之DCB结构体详解
  8. 请检查下面的程序,找出其中的错误并改正,然后上机调试,使之能正常运行,从键盘输入,检查输出
  9. python大数据就业方向_大数据方向:就业主要从事哪些工作?
  10. 洛谷【P1873】 砍树 简单二分解析