脚本小子
文章平均质量分 84
redraiment
我在大学里修软件工程专业,目前在一家外企银行中做软件开发工作。
我很喜欢我自己的专业,因此无论是在校期间或者是工作之余,我都会主动去学习一些自己感兴趣的内容。我很庆幸我的自学能力不错,所以学习的过程往往不会索然无味。
此外,我很喜欢动手实践。我会利用业余时间开发一些小工具和大家分享,来提高我们的工作效率,有几个已经发布到 google code 上。因为我信奉:学习知识是用它来改善我们的生活!
展开
-
发现校内网好友买卖的一个小漏洞!并成功实现自动好友买卖!
//有些网站通过网络爬虫转载文章都不写明文章出处,请保留文章原作者:redraiment公告:因为服务器要转让,我将不再有可使用的服务器。因此挂机站点将于2008年11月6日0时关闭。最新消息:客户端版AutoAuto preview 1已发布,详情查看最新日志。最新消息:我写了一个脚本,免费提供大家在线挂机,目前还在测试阶段,每天最多只能提供60个人同时挂机。欢迎大家前来测试体验。具体参见htt原创 2008-08-29 16:05:00 · 9667 阅读 · 17 评论 -
批量检测可用域名
在《内网IP自动获取》的评论中,有个网友希望能帮忙写一个批处理来批量检测域名的可用性。但前两天都在赶文档,刚刚接到老师电话说推迟到10月08日交,心头大石终于落地^_^。所以就马上开工帮那位朋友实现这个批处理!原理很简单,就是找一个域名注册网站(比如我这里找的中国域名为 http://www.chinadomain.com.cn/),这类网站一般都提供了域名查询功能,我们只要用 curl 等命原创 2009-09-25 18:14:00 · 5569 阅读 · 5 评论 -
Linux下用nc实现DuplexPipe
nc 是一把网络的瑞士军刀,我以前在介绍 DuplexPipe 时也提到过,如果你没接触过它,可以先参看一下《DuplexPipe二三事(二)》。再来简单地介绍一下 DuplexPipe,顾名思义,它是一个“双向管道”。在 shell 中,我们通过“|”使用匿名管道,让前一条命令的输出作为后一条命令的输入;双向管道即在此基础上在加上“后一条命令的输入作为前一条命令的输入”。这是最初开发它的原因,但原创 2010-01-25 23:03:00 · 3834 阅读 · 1 评论 -
sed单行脚本学习笔记
回家真好前段时间忙着找工作、项目结题、写报告……反正是总有做不完的事情,哈哈。好在暂时告一段落了,应老妈强烈要求回家休息几天。这次回家除了这身衣服,只带了一本《sed与awk》,我觉得这种小册子最适合茶余饭后休闲之用。如果你也有兴趣学 sed ,推荐你一起看《sed与awk》(可以在谷歌图书在线阅读英文版:D)。花了两天时间,看完了前面 sed 的部分。要掌握一个工具就要熟悉它原创 2009-12-31 18:07:00 · 3589 阅读 · 0 评论 -
awk学习笔记
看完sed部分之后花了几个晚上看完后面 awk 部分。awk 不同于 sed,它是一门模式匹配的程序设计语言。学习 sed 和 awk 时,正则表达式可能是一大障碍。但事有凑巧,去年我暑假我一个人出去散心时,顺带看完了《精通正则表达式(第三版)》,另外我还掌握一些 Bash、Perl 等脚步编程的经验,因此很快就能适应 awk 的风格。写到此处,我突然联系到《倚天屠龙记》中的张无忌,他经常原创 2010-01-05 20:20:00 · 2129 阅读 · 3 评论 -
用awk去除C语言注释
今天闲逛Linux宝库,看到论坛里有人在讨论如何用 shell 脚本来处理 C 语言注释,发帖时间是 08-10-23(以前怎么都没注意到,失败...),但问题好像并没被解决。正好这两天玩 sed & awk,来小试一下身手。C语句注释本文讨论的是 C99 标准,它支持单行注释(“// ...”)和块注释(“/*...*/”),并且当单行注释以“/”结尾时也可以跨多行。测试代码如下:#原创 2010-01-06 22:16:00 · 5089 阅读 · 13 评论 -
在 Cygwin 下编译 netcat_1.10-38
在 Cygwin 里手工编译并安装 netcat_1.10-38 版本,并模式 WireShark 的监听功能。原创 2011-03-18 08:06:00 · 5649 阅读 · 4 评论 -
[JavaScript] 整数金额转汉语数字大写
前几天用网银给朋友转账,在金额一栏中输入阿拉伯数字,右边会立即显示出相应的汉语数字大写。感觉挺有意思,就到网上搜索一下现成代码(没怎么仔细找),找到一段 Java 的和一段 C# 的。不过感觉它们的实现都很繁琐,或者说不够优雅。最重要的是功能上有缺陷,比如 100 被翻译成“壹佰零拾零”,在汉语中我们习惯说“壹佰元整”。所以,就考虑自己动手写一个小程序。我现在也有点思维定势了:一提起处理文本,原创 2011-06-13 22:35:00 · 2794 阅读 · 2 评论 -
[JavaScript] 数字金额大写转换 v2
几天前分享了一段 JavaScript 版的《整数金额大写转换》,不过只能处理整数的。刚刚做了一个改进,可以处理两位小数(角和分)和负数(欠款)。function digit_uppercase(n) { var fraction = [角, 分]; var digit = [ 零, 壹, 贰, 叁, 肆,原创 2011-06-16 12:32:00 · 3980 阅读 · 3 评论 -
命令行界面设计
p { font-size: 16px;}《Designing command-line interfaces》原文地址:http://www.antoarts.com/designing-command-line-interfaces/正文虽然已存在大量关于图形用户界面翻译 2011-08-12 23:59:55 · 6714 阅读 · 0 评论 -
内网IP自动获取V2
为解决上内网问题,我需要找一个 DHCP 未分配的 IP 地址来使用,在《内网IP自动获取》一文中的批处理能成功实现自动搜索。原理是逐个尝试地址是否可用,测试方法就是将本地地址设置成指定的静态 IP,然后去 ping 网关,直到找到一个成功的地址。但这种方法有些美中不足:通过 netsh 设置本地静态 IP 比较耗时间;如果 IP 已经被分配就会弹出一个消息框需要手工确认,因此并不算真原创 2009-09-24 11:37:00 · 3703 阅读 · 0 评论 -
内网IP自动获取
在寝室上内网真的是很闹心呀~稍微迟点开机,IP 地址就被别人抢去了。昨晚九点放学后,一直等到十点半才连上,实在忍无可忍了!IP 被抢后解决方法无非就是找一个没被占用的地址,但手工去测试 256 个地址太折磨人了,早些时候我们班的两个同学就分别用 Java 和 C# 来实现过类似的小工具。但解决这样的小问题有点杀鸡用牛刀的感觉,不符合我的性格^_^,我当然还是用批处理来解决。批处理中核心的两原创 2009-09-23 14:11:00 · 7609 阅读 · 21 评论 -
用curl命令,post提交带空格的数据
今天偶然遇到一个情况,我想用curl登入一个网页,无意间发现要post的数据里带空格。比如用户名为"abcdef",密码为"abc def",其中有一个空格,按照我以前的方式提交:curl -D cookie -d "username=abcdef&password=abc def" http://login.xxx.com/提示登入失败。于是查看curl手册man curl。找到:原创 2008-10-16 14:40:00 · 20932 阅读 · 1 评论 -
linux 桌面背景随心换
偶然间在网上找到了一百张美图~都是自然风景画。据说能养眼哦~地址请看这里我的桌面背景也是该换换了,不过手工换这一百张可不好玩。windows下有桌面随心换这个现成的软件;kde下也自带这个功能。但我用的是gnome,找了半天还是没找到自带的功能。所以写了一个python脚本,让它隔10分钟换一张桌面背景。感觉好炫哈~ #!/usr/bin/env pythonBACKG原创 2008-10-10 21:17:00 · 42480 阅读 · 0 评论 -
在命令行下发送短信
飞信是个不错的业务,可以通过PC端免费发短信,如果以后能一直免费下去那就是非常不错啦(奸笑ing)。为了能在 Linux 下使用,已经有不少人分析出了飞信的通信协议,比如开源的 libfection。还有一些是网页版的工具,比如“https://fetionapi.appspot.com/”。有了这些前辈们的贡献,我们就可以很轻松地写一个 Shell 脚本来实现在命令行下发送短信了。#!/bi原创 2009-08-19 14:53:00 · 3704 阅读 · 0 评论 -
JavaScript中的字符串乘法
原文原文地址:http://www.davidflanagan.com/2009/08/string-multipli.html原作者:David FlanaganIn Ruby, the "*" operator used with a string on the left and a number on the right does string repetition. "Ruby翻译 2009-08-18 15:21:00 · 47146 阅读 · 6 评论 -
Shell中同时读多个文件
一个文件分割成多个文件有时需要提取文件中的一个或多个列元素生成新的文件,这一操作在 Shell 里很容易实现。比如有一个数据文件 data,有三列信息:姓名、学号、班级。redraiment 0612800134 0601christine 0612800136 0601zb 0612800229 0602现在需要这个文件的第一列和第二列信息分别存到文件 f1 和 f2原创 2009-08-23 21:05:00 · 5997 阅读 · 1 评论 -
关于批量重命名文件
不久前,我们软件工程系举行了全系大会。我在大会上做了简短的报告,主题是“学以致用、动手实践”。报告期间我说了一个亲身经历:以前校园内U盘病毒肆虐,病毒会把U盘里所有的文本文件加上系统属性和隐藏属性,并添加“.tmp”扩展名(例如原文件名为“a.txt”,病毒修改为“a.txt.tmp”),然后生成一个和原文件同名的病毒文件。我不幸中招,于是用我所学的知识写了一个小程序,几秒钟就解决了。原以为它原创 2009-08-29 12:52:00 · 2561 阅读 · 0 评论 -
DuplexPipe二三事(二)——瑞士军刀再显锋芒:让程序相互聊天
瑞士军刀NCnc(NetCat)是我很喜欢的一个小工具。在我常用的网络小工具中使用频率仅次于 cURL 。nc 属于传输层的工具(TCP/IP 四层模型请看这里),它能保证准确无误地发送和接收数据,但并不关心数据的具体含义(这些工作交给应用层的软件)。难怪说 nc 是网络的瑞士军刀,因为所有应用层的软件都是通过各自的网络协议来解析来自传输层的数据。所以,只要你了解应用层协议(比如HTTP、PO原创 2009-09-03 13:22:00 · 3620 阅读 · 0 评论 -
用DOS批处理来做数字图像处理
前言:我最近对语言挺着迷的,很想学习一下《编译原理》。询问了老师才知道我们已经取消了这么课程(他们觉得学了没用) ,一时间也没找到什么好的教材,如果有好心的朋友可以推荐几本关于编译原理的经典书籍,感激不尽!图灵机是由输入、输出和状态转移函数三要素组成的,广义上的自动机模型。理论上讲任何任何完备图灵机语言都可用于通用编程,并且和其他完备图灵机语言一样有效。但实际上有些此类语言作用在其特定领域之外原创 2009-07-03 14:03:00 · 7881 阅读 · 3 评论 -
DuplexPipe二三事(六)——没有第七
我的设想在着手编写 DuplexPipe 之前,我规划过我的需求:我想要一个最通用的通信工具,换言之就是能让所有具有输入/输出的程序都可以相互通信。DuplexPipe 本身远没达到这个设想,至少还得具备以下几中模式:-f file # 通过读写文件获得数据-s # 从 stdio 中获得数据-e exefile # 从本地程序的输入输出原创 2009-09-05 12:42:00 · 2862 阅读 · 0 评论 -
八个有趣实用的Bash提示符
原文:http://maketecheasier.com/8-useful-and-interesting-bash-prompts/2009/09/04很多人并不关心命令提示符,觉得它没用。刚从互联网上搜罗了几个有趣且实用的 Bash 提示符。好的提示符或许能改善你的工作方式~注:要使用下面的效果,只需将“PS1=”部分复制粘贴到终端执行即可。如果要保持修改,可以将它追加到“~/.bas翻译 2009-09-09 15:02:00 · 4247 阅读 · 3 评论 -
Emacs 中给文本加引号的插件
前几天 @刘鑫-MarchLiu 在微博上发布了一个给给文本加引号的插件:http://weibo.com/1729408273/eDcC8e8w6aD。不过用起来有点小问题:两头都只能插入一个字符,因此不能用于添加 XML 标签;光标控制上有个 bug,每次执行后光标会往左移动原创 2011-07-08 20:50:40 · 2729 阅读 · 0 评论