sed中的行范围在文件中多次匹配
假设我有一个文件sed中的行范围在文件中多次匹配,sed,Sed,假设我有一个文件我的\u文件: start startx start3 hi start4 end done stop endagain 现在我尝试sed-n'/start/,/end/p'
我的\u文件
:
start
startx
start3
hi
start4
end
done
stop
endagain
现在我尝试
sed-n'/start/,/end/p'
。sed
将如何解释这一范围的行,因为start
发生了4次?当针对示例输入运行命令时,将显示包含start
的第一行通过包含end
的最近的下一行(包括)将匹配
sed
不支持重叠范围:
- 一旦某个范围上的开始模式与某一行匹配,则将从下一行[1]开始查找该范围的结尾,并且在找到该范围的结尾之前,不会发生开始模式的匹配
- 匹配结束模式或遇到输入结束时,范围结束
sed
术语中,它应该被称为模式空间,它可以是行以外的内容,具体取决于脚本中的命令如何操作读取的行
[1] 请注意,相比之下,awk
开始在同一行(记录)上查找结束模式