首先,我知道遵循这种格式的普通 conf 文件(我不知道它叫什么)通常有一个空行分隔部分,这使得这个问题更容易解决。但我想知道是否有一种小而干净的方法可以在 awk 中仅打印以下文件的第 2 节(称为 test.conf):
[section1]
a = 1
b = 2
[section2]
c = 3
d = 4
[section3]
e = 5
d = 6
我的第一个猜测失败了:
bash-3.2$ awk '/^\[section2\]$/,/^\[/' test.conf
[section2]
因为同一行匹配开始和结束范围分隔符。我觉得有一种更好的方法来做到这一点,而不是在进入第 2 节时设置一些变量,然后在进入下一节时将其关闭。有人知道吗?