我有一个包含如下代码的文档:
Some words.
\NOTETAKING{ some text
This is some {} text.
This is more text \this{}.
}
Some more words.
如何使用 grep 匹配以 \NOTETAKING{ 开头的行,该括号内的所有文本,直到并包括带有匹配右括号的行?
- NOTETAKING 可以在文档中出现多次,我需要找到第 n 次出现,例如有时搜索第 1 次出现,有时搜索第 3 次出现。
- 它总是出现在行首。
- 它的右括号总是单独一行。
如果 Perl 是您的选择,这里有一种方法可以完成这项工作。
我假设
}
定义块的结尾是在一行的开头,如果之前可以有一些空格}
,请使用/^\h*}/
而不是/^}/
代码:
输入文件:
输出:
解释: