最近做互联网实验发现,不用 Linux 下方便的文本处理工具来编辑海量实验数据实在是痛苦不堪的,于是决定把 grep 、sed 、awk 什么的好好学学。

做文本过滤必先掌握正则表达式。不过各种版本的正则表达式形式不一,十分混乱, grep,sed,awk,和 ls,find 等命令支持的 Regexp 都不一样。好在哲思社区上对此有一份详细的总结,还有一篇介绍各种文本处理工具的文章

今天 Google 时发现 GNU 的 find 也支持多种风格的正则表达式,用 -regextype 指定所使用的正则表达式类型,用 -regex 选项使用。可选的有emacs(默认),posix-awk,posix-basic,posix-egrep,posix-extended。不过发现还不如用 find | grep 来得简洁……