在这个编辑中,
Stéphane Chazelas 通过插入一个xpression 中断和另一个xpression语句 (再次)POSIXifying我的sed格式。现在,我可能只是在评论中问他为什么,我想,但它已经是该答案的修订号 18,并且几乎所有以前的都已经感谢类似的免费赠品(如果您可以看到已删除的评论,您就会知道是什么我的意思是)。此外,我认为我已经足够理解为什么要以一种可能更普遍有用的方式来表达这一点。所以在这里希望...-e-e
sed -e如果可能的话,我通常更喜欢将我的总xpressions保持为一个,但我也更倾向于尽可能接近规范,尤其是当差异不超过 a<space>和 an 时-e。但是如果我不明白为什么我应该这样做,我就不能这样做。以下是我理解的当前状态的简要概述:
在' -e '休息能够方便地站在了一个sed脚本\n在ewline突破sed命令行语句......我承认模糊为什么
sed {函数中}的\n右大括号前面必须有一个ewline 中断,如下所述:
<right-brace>前面应有 a<newline>并且可以前面或后面跟有<blank>字符。\n任何使用... , , , , , , , 或 之后,同样需要一个ewline 中断。ab …
考虑简化文件
AAA
BBB
CCC1
DDD
EEE
CCC2
DDD
FFF
GGG
CCC3
HHH
Run Code Online (Sandbox Code Playgroud)
我可以挑选出的范围内EEE,以FFF与
sed -n '/EEE/,/FFF/p'
Run Code Online (Sandbox Code Playgroud)
假设我想打印任何包含C但仅在匹配范围内的行。我可以sed通过管道传输结果grep
sed -n '/EEE/,/FFF/p' | grep 'C'
Run Code Online (Sandbox Code Playgroud)
我也可以做一个小范围和匹配awk脚本(或perl,python等等)。但是我将如何仅使用一次调用来做到这一点sed?