sed [-e] 'instruction' file
只有在命令行上给出多个指令时才需要-e选项,它告诉sed将下一个参数解释为指令。
-n sed的默认操作是输出每个输入行,-n选项可以组织自动输出。当指定该选项时,每个要生成输出的指令都必须要包含打印命令p。
Page 44
shell里面不接收单引号转义。在表达式中确实需要用到'或者",可以用"把表达式包围起来,然后在表达式中进行适当的转义,如果/这样的字符比较多,可以用另外的分隔符,比如;@等这样表达式中的/就不需要转义了。
在方括号中,标准的元字符会失去它们的含义。
page 64
page 75
sed首先将整个编辑脚本应用于第一个输入行,然后再读取第二个输入行并对其应用整个脚本。因为sed总是处理原始行的最新形式,所以生成的任何编辑工作都会改变后续命令应用的行。
page 86
page 96
troff为长破折号提供了一个特殊的字符名 \(em
排除3个或多个连续的连字符的行
sed '/---/!s/--/\\(em/g' file
page 99
page 105
[address]s/pattern/replacement/flags
s/制表符/>/2 假设每行有3个制表符,并且要用>替换第二个指标位
\一般用于转义其他的元字符,但是它在替换字符串中也用于包含换行符
插入命令将所提供的文本放置在模式空间的当前行之前。追加命令将文本放置在当前行之后。更改命令用所提供的文本取代模式空间的内容。这些命令中的每一个都要求后面跟一个反斜杠用于转义第一个行尾。test必须从下一行开始。要输入多行文本,每个连续的行都必须要用反斜杠结束。最后一行例外。
page 131
page 145 2008/06/23
page 181 2008/06/24
page 192 2008/06/24
page 226 2008/06/25
page 230 2008/06/26
如果你在shell脚本中调用了awk,命令行的参数将传递给shell而不是传递给awk。你必须将shell脚本的命令行参数,传递给在shell脚本中的awk。
page 237 2008/06/27