【发布时间】:2021-02-28 12:52:24
【问题描述】:
我正在尝试编写一个 grep -P 命令,该命令输出 test.txt 中仅包含字符 A 和 B 的行,这样正好有 n 个 A 后跟正好 n 个 B,没有其他字符。例如AABB AAABBB AB AAAABBBB
test.txt 是一个包含一堆模式的文件,每行一个。
我遇到了https://www.regular-expressions.info/recurse.html?wlr=1 的页面
grep -P 'A(?R)?B' test.txt
会起作用。在 Regex101 中进行测试时,这种模式确实有效。
但是,当我在终端上测试命令时,显然该命令也匹配包含此模式的行,例如ABABAB ABBAAABBBB
鉴于此,我尝试了以下方法,但它不像正则表达式那样工作。
grep -P '^A(?R)?B$' test.txt
所以我的问题是如何让 grep -P 匹配整行?我在手册页上找到了一些关于修饰符的内容,但到目前为止它并没有把我带到任何地方。
【问题讨论】: