我正在尝试 grep 表达式(例如BEGIN
和END
)之间的文本,这些文本可能与以下内容不在同一行:
perl -wln -e 'm/BEGIN.+END/s and print;' < file.txt
请注意,由于s
修饰符 (in m/RE/s
),"."
允许匹配换行符(以及其他任何内容)。
这使模式可以将特定顺序的单词与它们之间的任何内容匹配(即模式BEGIN
在一行上,而模式END
在下面的几行上)。如果这两个模式在同一行上,这可以正常工作,但当它跨越多行时则不行。我在这里想念什么?