The Advanced Usage of Sed

这里总结的是 sed 的“高级”用法,主要集中在 patten space 和 hold space。

注意:在进行一些文本处理前,需要注意文本行数的奇偶性,这个会影响到最终的结果。

首先描述下 sed 这个流编辑器的工作流程:

1.从标准输入/文件中读取一行
2.去除改行的换行符\n
3.将该行放入 pattern buffer(模式空间,或者 patten space)
4.根据 sed 提供的命令修改 pattern buffer
5.打印 pattern buffer 至标准输出
Continue reading

Njupt Reduces the Requirements for Linux Newbie

众所周知,不管学习什么,有一个良好的网络环境是学习成功的必要条件。由于西朝鲜众多高校自身的问题,在 Linux 下上网变得不是很容易,原因是有很多院校装了计费系统(Win ONLY)。最常见的有锐捷的计费系统华三的计费系统,占高校市场很大份额的,也包括敝校使用的那个臭名昭著的 Drcom 认证

或许是学校领导认识到了 B/S 的发展前景,不知道在何时(距离我上次使用 Drcom 开始算起)开放了 Drcom 的网页版登陆系统!

据我所知,大部分同学都是以 Ubuntu 这个版本开始 Linux 的学习的,而先前由敝校学长 @henrysher 写的一个开源的 drcom-client 客户端从 10.04 以后就不再支持了,Linux 版本下最近的一次更新还要追溯到 09 年的 10 月;包括还有学生自己写的网页版登陆,多少存在 30 分钟掉线一次的问题。

所以这次学校官方开放网页版登陆,对于 Linux 初学者来说着实是做了一件善事,因为曾经有不少 Newbie 因为上网问题搞不定而放弃 Linux 学习的。

会不会中途掉线?会不会监听你的上网行踪?本人没有亲测,欢迎有条件的同学测试反馈。

P.S:提醒大家一句,Linux 下能上网的方式很多,不要在一棵树上吊死 ;-)

====

很不幸的是,据 @innocent 同学留言反映,依然存在掉线问题。

收集的一些 grep/sed/awk 范例

$ cat datafile
Steve Blenheim:238-923-7366:95 Latham Lane, Easton, PA 83755:11/12/56:20300
Betty Boop:245-836-8357:635 Cutesy Lane, Hollywood, CA 91464:6/23/23:14500
Jose Santiago:385-898-8357:38 Fife Way, Abilene, TX 39673:1/5/58:95600
Tommy Savage:408-724-0140:1222 Oxbow Court, Sunnyvale, CA 94087:5/19/66:34200
Yukio Takeshida:387-827-1095:13 Uno Lane, Ashville, NC 23556:7/1/29:57000
Vinh Tranh:438-910-7449:8235 Maple Street, Wilmington, VM 29085:9/23/63:68900
Continue reading

exec/xargs in find

查找当前目录下以 anaconda 开头的文件,并查找其中的 evince 字符串
# find . -name "anaconda*" -exec grep -i evince {} \;

查找当前目录下的 install.log 文件,并做 md5 校验
# find . -name "install.log" -exec md5sum {} \;

查找 /var/log 下的 error 日志,将其移除
# find /var/log/ -name "error*" -exec mv {} /trash \;
Continue reading