Linux实用工具与脚本配置指南
1. awk与sed工具介绍
在Linux和Unix系统中,有不少工具能帮助我们高效处理文本,awk和sed就是其中的佼佼者。
awk有相关的书籍来介绍其使用方法,像Dale Dougherty和Arnold Robbins所著的《Sed & Awk (Nutshell Handbook)》就较为流行。大多数Linux发行版和Unix系统都包含了awk工具,GNU版本的awk被称为GAWK。
sed则是一种流编辑器。它能进行正则表达式的搜索和替换,在处理文件更新任务时非常有用。比如,当你需要更新一个文本文件,就可以用sed自动搜索特定字符串并按需修改。在将一个命令的输出传递给另一个命令之前,如果要对输出进行修改,sed也能派上用场。如果你曾在编辑器中使用过类似 :s/phrase/newphrase/ 这样的命令来替换短语,那么你就已经掌握了sed命令的基本用法。不同的是,使用sed时,这种替换会自动应用到文件的每一行。
sed可以通过命令行参数来执行操作。例如,当一个很长的文件输出需要稍作修改,以符合老板要求的格式打印到新文件时,这样做就很有好处。下面是一个简单的例子:
$cat /tmp/calendar |sed -e 's/Jan/&uary/' | sed -e 's/Feb/&ruary/' | sed -e 's/Mar/&ch/' | sed -e 's/Apr/&il' | sed -e 's/Jun/&e/'| sed -e 's/Jul/&y/' > newfile