仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 891|回复: 11
打印 上一主题 下一主题

[其他Linux] Linux教程之送给Shell兄弟姐妹们的节日礼品:用awk来示爱仓酷云

[复制链接]
再见西城 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-18 11:29:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
每一个开发团队都对他的发行版做过测试后放出的.那些国际知名的大品牌更是如此。

  • 送给Shell版兄弟姐妹们的节日礼品

  • 有好一段工夫不来了,怪想人人的。
    <br>



  • 眼看快到十月一了,写了两个awk程序作为礼品送给shell版的兄弟姐妹们,祝人人节日兴奋!

  • 注:若转载请坚持程序的完全,感谢!

  • 程序一:

  • 黑色显现文件程序,每一个字符的色彩都纷歧样,随机变更,让你看花眼睛^_^:

  • 程序代码:

  • #!/usr/bin/awk

  • #Writebydbcat

  • #EMail:deeperbluecat@Gmail.com

  • #run:awk-fColorCat.awkYourFile

  • BEGIN{

  • srand()

  • split($0,Myth,"")

  • ColorPrint(Myth,length($0))

  • functionColorPrint(Myth,xlen)

  • for(i=1;i<=xlen;i++)

  • Color="33[1;"int(31+7*rand())

  • printf"%s;3m%s33[0m",Color,Myth

  • }

  • printf"
    "

  • 程序二:

  • 黑色作图程序,有点像Gnuplot,能够作出圆形,正弦图,抛物线等等。

  • 比方:

  • 圆:awkBEGIN{while(k<10){printsin(k),cos(k);k=k+0.01}}|awk-fColorPlot.awk

  • 正弦线:awkBEGIN{while(k<10){printsin(k),k;k=k+0.01}}|awk-fColorPlot.awk

  • 抛物线:awkBEGIN{k=-10;while(k<10){printk^2,k;k=k+0.01}}|awk-fColorPlot.awk

  • 直线:paste<(seq10.0110)<(seq10.0110)|awk-fColorPlot.awk

  • 假如你有设想力的话还能够作出良多意想不到的图形,好比:

  • 圆盘:awkBEGIN{while(k<100){printsin(k),rand()*cos(k);k=k+0.01}}|awk-fColorPlot.awk

  • 花圈:awkBEGIN{srand()

  • while(k++<20000){

  • x=2-3*rand()

  • y=2-4*rand()

  • if(x^2+y^2>0.6&&x^2+y^2<1||x^2+y^2<0.3&&x^2+y^2>0.1)

  • printx,y

  • }

  • }|awk-fColorPlot.awk

  • 菱圈:awkBEGIN{srand()

  • while(k++<20000){

  • x=1-2*rand()

  • y=1-2*rand()

  • if(x+y<=1&&x-y<=1&&-x+y<=1&&-x-y<=1&&x^2+y^2>=1/2)

  • printx,y

  • }

  • }|awk-fColorPlot.awk

  • 程序代码:

  • #!/usr/bin/awk

  • #GAWK黑色作图程序

  • #作者:dbcat

  • #Email:deeperbluecat@Gmail.Com

  • #日期:2006-9-25

  • #测试情况:Gawk3.1.4,bash3.00.16(1),SUSE9.3

  • #运转办法:awkBEGIN{while(k<10){printsin(k),cos(k);k=k+0.01}}>datafile

  • #awk-fColorPlot.awkdatafile

  • BEGIN{

  • srand()

  • xlen=35

  • ylen=35

  • InitGraph(Myth,xlen,ylen)

  • X_Max=X_Max>$1?X_Max:$1

  • X_Min=X_Min<$1?X_Min:$1

  • Y_Max=Y_Max>$2?Y_Max:$2

  • Y_Min=Y_Min<$2?Y_Min:$2

  • X_Label[NR]=$1

  • Y_Label[NR]=$2

  • END{

  • CreateGraph(Myth,NR)

  • PrintGraph(Myth)

  • functionInitGraph(Myth,xlen,ylen,i,j)

  • for(i=1;i<=xlen;i++)

  • for(j=1;j<=ylen;j++)

  • Myth[i,j]=""

  • functionCreateGraph(Myth,Len,i)

  • for(i=1;i<=Len;i++)

  • {

  • X_Label=int((X_Label-X_Min)/(X_Max-X_Min)*(xlen-1)+1)

  • Y_Label=int((Y_Label-Y_Min)/(Y_Max-Y_Min)*(ylen-1)+1)

  • Myth[X_Label,Y_Label]=int(40+60*rand())

  • }

  • functionPrintGraph(Myth,i,j)

  • for(i=1;i<=xlen;i++)

  • for(j=1;j<=ylen;j++)

  • color="33[1;"int(31+7*rand())

  • printf"%s;1m%c33[0m",color,Myth[i,j]

  • }

  • printf"
    "

  • }

  • }

awkBEGIN{while(u<20){printsin(u)*sin(v),cos(u)*sin(v+u);v=v+0.01;u=u+0.01}}|awk-fColorPlot.awk
发生的就是一个心^_^


<br>
感激waker版主加精^_^

再多供应人人几个风趣的图形:


  • 爱心型

  • awkBEGIN{while(u<20){printsin(u)*sin(v),rand()*cos(u)*sin(v+u);v=v+0.01;u=u+0.01}}

  • 绳结

  • awkBEGIN{while(u<10){printsin(u+v)*sin(v),cos(u+v)*sin(v);v=v+0.01;u=u+0.01}}

  • 胡蝶

  • awkBEGIN{while(u<10){printsin(u+v)*sin(v),cos(u)*sin(v);v=v+0.01;u=u+0.01}}

  • 花瓣

  • awkBEGIN{while(u<10){printsin(u+w)*cos(v)*sin(w+u),sin(u)*sin(v+u)*sin(w);v=v+0.01;u=u+0.01;w=w+0.01}}

  • 蝙蝠

  • awkBEGIN{while(u<10){printsin(u+w)*cos(v+w)*sin(w+u),sin(u)*sin(v+u)*sin(w);v=v+0.01;u=u+0.01;w=w+0.01}}

  • 螺旋

  • awkBEGIN{while(w<20){printsin(w)*w,cos(w)*w;w=w+0.01}}
这个绘图程序的运转是如许的:
先发生预处置数据,如你下面给出的。主程序再使用这些数据举行描点绘图。
我8楼的代码发生的是预处置数据,你必要用ColorPlot.awk(即程序二)来处置一下。
比方胡蝶形:
awkBEGIN{while(u<10){printsin(u+v)*sin(v),cos(u)*sin(v);v=v+0.01;u=u+0.01}}|awk-fColorPlot.awk
另有两个很大度的图形:


  • 花蕊

  • awkBEGIN{while(u<10){printsin(u)*cos(v+u)*sin(u+v),cos(v+u)*cos(u)*sin(v+u);v=v+0.01;u=u+0.01}}|awk-fColorPlot.awk

  • 铰剪

  • awkBEGIN{while(u<10){printsin(u+v)*cos(v+u)*sin(u+v),cos(v+u)*cos(u)*sin(v+u);v=v+0.01;u=u+0.01}}|awk-fColorPlot.awk


<br>


如果你只是想应付一下操作系统的课程,劝你最好别学,或者说不要指望能用的怎么样。
爱飞 该用户已被删除
沙发
发表于 2015-1-21 07:47:16 | 只看该作者
下面笔者在论坛看到的一个好问题: “安装红旗4.0后,系统紫光输入法自带的双拼方案和我的习惯不一样,如何自定义双拼方案解决?谢谢?”这个问题很简练。
飘灵儿 该用户已被删除
板凳
发表于 2015-1-22 13:47:38 | 只看该作者
放手去搞。尽量不要提问,运用搜索找答案,或者看wiki,从原理上理解操作系统的本质,而不是满足于使用几个技巧。尽量看英文资料。
兰色精灵 该用户已被删除
地板
发表于 2015-1-25 11:46:37 | 只看该作者
随着Linux应用的扩展,出现了不少Linux社区。有一些非常优秀的社区往往是Linux高手的舞台,如果在探讨高级技巧的论坛张贴非常初级的问题经常会没有结果。
蒙在股里 该用户已被删除
5#
发表于 2015-2-2 21:55:46 | 只看该作者
让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。?
乐观 该用户已被删除
6#
发表于 2015-2-3 12:34:34 | 只看该作者
Linux最大的特点就是其开源性,这一点是十分难得的,这也是它能够存在到现在的原因之一。
老尸 该用户已被删除
7#
发表于 2015-2-9 00:28:27 | 只看该作者
和私有操作系统不同,各个Linux的发行版本的技术支持时间都较短,这对于Linux初学者是往往不够的。
8#
发表于 2015-2-16 22:15:21 | 只看该作者
通过自学老师给的资料和向同学请教,掌握了一些基本的操作,比如挂载优盘,编译程序,在Linux环境下运行,转换目录等等。学了这些基础才能进行下面的模拟OS程序。?
再现理想 该用户已被删除
9#
发表于 2015-2-24 06:46:35 | 只看该作者
对我们学习操作系统有很大的帮助,加深我们对OS的理解。?
海妖 该用户已被删除
10#
发表于 2015-3-7 11:45:53 | 只看该作者
为什么要学Linux呢?每个人都有不同的看法,下面我说说自己的感想吧。?
若相依 该用户已被删除
11#
发表于 2015-3-15 02:49:20 | 只看该作者
学习Linux半年了~个人认为不会的多在网上找资料网上有很多资料可以搜索到,LS那位说放手去搞。
金色的骷髅 该用户已被删除
12#
发表于 2015-3-21 16:06:53 | 只看该作者
让我树立了很大的信心学好这门课程,也学到了不少专业知识和技能。?
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-11-14 14:06

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表