使用awk和可变正则表达式提取两个模式之间的行

毒药

我正在寻找一种使用变量来使用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}"
}

似乎没有任何作用:(有任何想法或提示吗?

控制台盒

您用双引号引用错误。由于位置参数$1仍用单引号引起来,因此不会扩展位置参数它应该是:

function get { 
    awk '/^\[ '"$1"' \]/{p=1;next} /^\[ [!-~]+ \]/{p=0} f' "${MY_FILE_PATH}"
}

也许另一种好方法是使用-v至少可以避免严重的语法错误:

function get { 
    awk -v s="$1" '$0 ~ "^\\[ " s " \\]"{p=1;next} /^\[ [!-~]+ \]/{p=0} f' "${MY_FILE_PATH}"
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用awk和可变正则表达式提取两个模式之间的行

来自分类Dev

在 bash 脚本中提取文件的两个表达式之间的行(使用正则表达式、sed)

来自分类Dev

仅提取两个正则表达式模式之间的字符串部分

来自分类Dev

仅提取两个正则表达式模式之间的字符串部分

来自分类Dev

在Ruby中使用正则表达式提取两个标签之间的文本

来自分类Dev

使用正则表达式提取两个标记之间的文本

来自分类Dev

使用正则表达式提取python中两个定义的单词之间的内容

来自分类Dev

使用正则表达式提取两个标记之间的文本

来自分类Dev

使用正则表达式仅提取两个特定标签之间的数字

来自分类Dev

正则表达式提取两个斜杠之间的字符串和其中的指定字符串

来自分类Dev

正则表达式查找两个模式并提取值

来自分类Dev

正则表达式,提取字符串不在两个括号之间

来自分类Dev

正则表达式:提取两个标记之间的文本

来自分类Dev

R中两个逗号之间的文本数据的正则表达式提取

来自分类Dev

正则表达式提取两个文本之间的文本并保存文本

来自分类Dev

正则表达式:提取两个标记之间的文本

来自分类Dev

提取两个正则表达式之间的字符串

来自分类Dev

正则表达式提取两个括号之间的数据

来自分类Dev

使用jsoup从两个标签之间提取未识别的html内容?正则表达式?

来自分类Dev

Python:使用正则表达式提取html中任意两个标签之间的文本

来自分类Dev

使用javascript中的正则表达式提取最后两个斜杠之间的字符串

来自分类Dev

如何使用正则表达式提取两个标题之间的文本,需要复杂的非捕获组

来自分类Dev

删除两个正则表达式模式之间的字符串

来自分类Dev

两个正则表达式之间的差异

来自分类Dev

正则表达式提取Java中两个表达式之间的字符串

来自分类Dev

正则表达式-提取两个表达式之间的字符串,仅获得最后的出现

来自分类Dev

如何使用python正则表达式获取两个模式之间的所有内容?

来自分类Dev

无法使用正则表达式在两个逗号和一个单词之间选择

来自分类Dev

无法使用正则表达式在两个逗号和一个单词之间进行选择

Related 相关文章

  1. 1

    使用awk和可变正则表达式提取两个模式之间的行

  2. 2

    在 bash 脚本中提取文件的两个表达式之间的行(使用正则表达式、sed)

  3. 3

    仅提取两个正则表达式模式之间的字符串部分

  4. 4

    仅提取两个正则表达式模式之间的字符串部分

  5. 5

    在Ruby中使用正则表达式提取两个标签之间的文本

  6. 6

    使用正则表达式提取两个标记之间的文本

  7. 7

    使用正则表达式提取python中两个定义的单词之间的内容

  8. 8

    使用正则表达式提取两个标记之间的文本

  9. 9

    使用正则表达式仅提取两个特定标签之间的数字

  10. 10

    正则表达式提取两个斜杠之间的字符串和其中的指定字符串

  11. 11

    正则表达式查找两个模式并提取值

  12. 12

    正则表达式,提取字符串不在两个括号之间

  13. 13

    正则表达式:提取两个标记之间的文本

  14. 14

    R中两个逗号之间的文本数据的正则表达式提取

  15. 15

    正则表达式提取两个文本之间的文本并保存文本

  16. 16

    正则表达式:提取两个标记之间的文本

  17. 17

    提取两个正则表达式之间的字符串

  18. 18

    正则表达式提取两个括号之间的数据

  19. 19

    使用jsoup从两个标签之间提取未识别的html内容?正则表达式?

  20. 20

    Python:使用正则表达式提取html中任意两个标签之间的文本

  21. 21

    使用javascript中的正则表达式提取最后两个斜杠之间的字符串

  22. 22

    如何使用正则表达式提取两个标题之间的文本,需要复杂的非捕获组

  23. 23

    删除两个正则表达式模式之间的字符串

  24. 24

    两个正则表达式之间的差异

  25. 25

    正则表达式提取Java中两个表达式之间的字符串

  26. 26

    正则表达式-提取两个表达式之间的字符串,仅获得最后的出现

  27. 27

    如何使用python正则表达式获取两个模式之间的所有内容?

  28. 28

    无法使用正则表达式在两个逗号和一个单词之间选择

  29. 29

    无法使用正则表达式在两个逗号和一个单词之间进行选择

热门标签

归档