【发布时间】:2014-07-17 15:22:49
【问题描述】:
我正在寻找一种使用 awk 提取两个模式之间的线条的方法 的变量。每个部分在下一个部分开始的地方结束。
示例文件:
[ SECTION_1 ]
info 1
info 2
info 3
[ SECTION_2 ]
info 4
info 5
info 6
[ SOMETHING_SOMETHING_DARK_SIDE ]
...
[ WE_have_COokIES ]
与
awk '/^\[ SECTION_1 \]/{p=1;next} /^\[ [!-~]+ \]/{p=0} p' "${MY_FILE_PATH}"
我得到了我想要的:
info 1
info 2
info 3
但我想要这样的东西:
function get {
awk '/^\[ "$1" \]/{p=1;next} /^\[ [!-~]+ \]/{p=0} p' "${MY_FILE_PATH}"
}
似乎没有任何效果:(有什么想法或提示吗?
【问题讨论】:
-
你如何得到你想要的,那个 awk 不会打印任何东西?
-
哦,谢谢,里面有错字。应该是
.../{p=0} p。我在我的问题中更正了它!