SED和AWK命令行编辑器简明教程

需积分: 9 3 下载量 69 浏览量 更新于2024-07-22 收藏 285KB PDF 举报
sed和awk简明手册 sed和awk是两种功能强大的命令行工具,广泛应用于数据处理和文本编辑领域。本手册旨在为读者提供一个简明的入门指南,帮助读者快速掌握sed和awk的基本概念和操作方法。 基本概念 Sed是一种“非交互式”的面向字符流的编辑器。它可以在一个地方指定所有的编辑指令,然后通过文件传递一次来执行他们。sed的优点是可以在一个地方指定所有的编辑指令,然后通过文件传递一次来执行他们。但是它在每次多于一行的处理能力方面有限制。 Awk的典型应用是将数据转换成格式化的报表,增强可读性。因此当数据有某种结构时就能最好的体现awk的好处。Awk的功能是非常强大的,甚至可以说成是程序设计语言。 基本操作 sed和awk的输出都不允许送到向程序提供输入的同一个文件,否则会使它变成乱码。如果工作内容中包含shell可执行的字符如“$和*”,那么必须用单引号引起。sed和awk都可以用-f来指定工作内容,這通常就是脚本存放的位置。使用过程中,短的脚本可以在命令行上指定,长的脚本通常放在容易被修改和测试的文件中。 在sed和awk中,每个指令都包含两个部分,模式和语句。模式是由/分隔的正则语句。语句指定一个或多个将被执行的动作。Awk不自动输出行,脚本中的指令控制awk最终所做的事情。Sed的语句由类似于行编辑器中使用的那些编辑命令组成。大部分命令由单个字母组成。Awk的语句由程序设计语句和函数组成,语句必须用大括号括起。 初识sed sed的基本命令包括s、p、d、a、i、c、w等。其中,s命令是最常见的命令,用来替换字符串。例如, `$sed 's/MA/Massachusetts/' list` 可以将文件list中的MA替换成Massachusetts。 sed的模式和语句 sed的模式是由/分隔的正则语句,例如 `/^$/` 可以匹配空白行。语句指定一个或多个将被执行的动作,例如 `s/MA/Massachusetts/` 可以将MA替换成Massachusetts。 awk的基本概念 awk的典型应用是将数据转换成格式化的报表,增强可读性。awk的功能是非常强大的,甚至可以说成是程序设计语言。awk的基本结构包括模式和语句,例如 `awk '/^$/ {print "This is a blank line"}'` 可以将空白行输出为"This is a blank line"。 awk的模式和语句 awk的模式是由/分隔的正则语句,例如 `/^$/` 可以匹配空白行。语句指定一个或多个将被执行的动作,例如 `{print "This is a blank line"}` 可以将空白行输出为"This is a blank line"。awk的语句由程序设计语句和函数组成,语句必须用大括号括起。 sed和awk是两种功能强大的命令行工具,广泛应用于数据处理和文本编辑领域。通过掌握sed和awk的基本概念和操作方法,读者可以更好地处理和分析数据,提高工作效率。