Arganzheng's Blog

stay hungry, stay foolish

sort和uniq tips

sort和uniq一般搭配使用,因为uniq必须依赖于sort后的结果。 sort是对每一行从头开始比较排序,如果你要比较的只是一行的某一部分,如何处理呢? 解决方案是将要比较的那一部分(field)抽取出来,放在每一行的最前头。这样就可以根据这个fields比较了。 例如:有如下输入:EmployeeName PayRate/h WorkingTime Beth 4.0...

AWK学习与实战

前言 AWK的pattern { action }语法结构已经影响到很多后来的东东,当然更早的是grep和sed。 以至于现在有个网站叫做ifttt,其名字意思就是if this then that,做的就是这个事情。虽然这门语言有点过时,还是有必要介绍一下。 What is AWK? An awk program is a sequence of patterns and actio...

Maven快速入门

不管是构建web程序或者standalone程序,甚至是简单的写个main测试,只要你的工程需要引入依赖或者打包构建,那么使用maven是最好也是最简单的做法。 安装maven 这个google一下,应该能搞定。 创建工程 如果你已经能够确定-DarchetypeArtifactId,那么可以直接指定,并设置-DinteractiveMode=...

使用pythonbrew和virtualenv构建Python沙箱环境

一个非常好的python工具——virtualenv 一直没有重视virtualenv,知道最近在MySQL备机上跑数据迁移脚本,发现要写一些python脚本,但是内建的python只有最根本的packages,import经常报错。想要手动安装,发现没有权限写入/usr/lib/pythonX.X/site-packages目录。而且,没有easy_install或者pip(安装这些同样...

Linux命令学习之——cut命令

顾名思义,cut命令就是剪切命令,类似于很多的linux命令,cut也是一个行编辑命令。它用于extract sections from each line of input——usually from a file. Extraction of line segments can typically be done by bytes (-b), characters (-c), o...

shell如何实现ssh免密码登陆

在shell中经常有这样的情况,一个可以写成脚本的程序,本来你可以执行它然后去星巴克喝咖啡,但是由于里面有些交互行命令需要你回答,如login某个服务器,或者输入svn密码,等。但是这样都是我们可以预料的,如果能将我们的回答先存放在某个地方,让shell在那个时候自动去读取这个答案,那么他就可以继续执行了。google了一下,发现有个命令还是不错的,叫作expect,man了一下,有如下描述...

shell语言之我见

2011-05-08 星期天 热 shell是一门非常简单而原始的语言,容易入手,它最常见的作用是将一连串的unix命令(cd, ls , find, etc.)串起来。所以只要你对这些命令比较熟,你只要熟悉shell的一点点语法和特性就可以马上写出一个小型甚至中型的shell程序了。 最近用shell写了好几个脚本处理一些svn相关操作(拉N个分支,合并N个分之,提交N个分之,等),也...

关于文件描述符和句柄

2011-03-31 星期四 晴朗 今天jojo突然问我们:“什么叫做句柄?”。我对句柄不是很清楚(Win32下没有怎么编过程),但是我对文件描述符是比较清楚的。但是我觉得应该是差不多的,所以我就这么回答她了:“句柄应该类似与Unix下的文件描述符,是一个内核对象标识。根据这个标识,进程可以访问相应的内核对象。至于为什么不直接返回内核对象地址,原因我想有两个: 内核对象驻留在内核地址...

TCP与UDP的区别

UDP 无连接 面向消息,有记录边界 不可靠 丢包 顺序 包重复 TCP 有连接 面向字节流,无记录边界 可靠 丢包 => ACK && RTT estimation && retransmission 顺序 => S...

sed实战

实战1. 删除空行(包括由空格组成的空行) 首先要隆重介绍我们的测试文件,因为这是非常特殊的文件: forrest@ubuntu:~/Public$ cat -v wuhui.txt 1^M ^M 2^M ^M 3^M ^M 4^M ^M 5^M ^M 6^M ^M ...