gnu gawk 源码——读《sed & awk》有感


我原来不喜欢动手操作电脑,喜欢看书。但不动手上机,不看看运行的结果,是很难学好的。
因为对awk学了很长一段,也照着书上的例子反复敲击了一些,所以再看书,就感觉书上写得很精妙了。
真的,尤其是循环那章节,把代码写得象珍珠一样,真美。
我又捡起了数据库相关的书籍来读,有一个想法,就把SQL实现的功能,用awk也可以实现。不是有是讲,用shell+AWK甚至能做出数据库来吗?
比如:
chengji.dt文件内容如下:
zhangsan yuwen 80
lisi yuwen 90
wangwu yuwen 95
zhangsan shuxue 90
lisi shuxue 80
要实现按行选择,如
select *
from chengji
where name='zhangsan'
用awk即
gawk '$1 ~/zhangsan/' chengji.dt

select sum(fenshu)
from  chengji
用awk写,即为
gawk '{sum +=$3 } END { print sum }' chengji.dt
等等。总之,真像linux就那范儿的作者所言,把awk把文件当数据库,那awk相当于sql也是可以说得过去的。
今天看了《碎片与重构》,其中有一句觉得有意思,他说每个人都要开博客,另外,他讲,写作即思考,我比较赞同。自己好读书,但输出较少。为此,今后真要多写博客。
也不在乎有不有人读,真正把自己有感悟的东西写出来即可。
越读书,就越发现自己的渺小。要读的代码真多呀,昨天在机器上装sqlite3,发现原来sqlit3也是开源的,而且核心源码据说也就70000行,我又动了读读源码的想法。
现在越来越有总感觉,那就是读源码一定要和使用相应软件结合,这样才事半功倍。
我现在对linux命令越来越有感觉了。感觉对命令越用,就越爱用。爱上使用命令后,再选择性的读代码,读源码不是为了表现自己与众不同,不是为了表现自己,而是一种很自然的做法。毛主席讲,感觉到的东西,不一定能理解。只有理解了的东西,才能理解深刻的感觉它。


猜你喜欢

转载自blog.csdn.net/woshiyilitongdouzi/article/details/80777620