正则表达式,用于从多行文件文本中检索字符串

帕特里克

我正在寻找一种通过寻找对等IP的秘密来提取对等IP的方法。

例:

peer 1.2.3.10 {
    authentication {
        mode pre-shared-secret
        pre-shared-secret SecretPasswordA
    }
    connection-type initiate
    ike-group IKE_1.2.3.4
    local-address 6.7.8.9
    vti {
        bind vti64
        esp-group ESP_1.2.3.4
    }
}
peer 1.2.3.20 {
    authentication {
        mode pre-shared-secret
        pre-shared-secret SecretPasswordB
    }
    connection-type initiate
    ike-group IKE_1.2.3.4
    local-address 6.7.8.9
    vti {
        bind vti64
        esp-group ESP_1.2.3.4
    }
}
peer 1.2.3.30 {
    authentication {
        mode pre-shared-secret
        pre-shared-secret SecretPasswordC
    }
    connection-type initiate
    ike-group IKE_1.2.3.4
    local-address 6.7.8.9
    vti {
        bind vti64
        esp-group ESP_1.2.3.4
    }
}

如果我知道SecrePasswordB,我将需要检索对等IP,即1.2.3.20,如果没有找到则为空(或其他易于识别的内容)。

文本来自shell命令,进入变量(即TEXT=$(command_string))。

因为我只有一个基本的shell,并且系统上很少有可用基本的linux工具完成的工具。在这里,我被困在找不到解决方案的地方...

hn

如果如问题所示将数据格式化为单独的行,则只需一个简单的shell脚本即可。只需将输入拆分为开头的单词,然后将其余的单词拆分即可。每当读取“对等”行时,请保存IP。如果读取了机密,请打印最新的IP。

getPeerIP

#!/bin/sh

secret="$1"

while read -r arg1 rest; do
    case "$arg1" in
        peer)
            ip="${rest% *}" # prune everything after first space
            ;;
        pre-shared-secret)
            if [ "$rest" = "$secret" ]; then
                echo "$ip"
                exit # don't bother reading rest of file
            fi
            ;;
    esac
done

用法:

command_string | getPeerIP 'Secret Password'

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

正则表达式,用于SimpleDateFormat字符串

来自分类Dev

正则表达式,用于将Python多行字符串与转义字符进行匹配

来自分类Dev

PHP正则表达式/搜索并替换多个文件中的多行字符串

来自分类Dev

正则表达式从字符串中检索变量字符串

来自分类Dev

如何使用正则表达式删除文件中的字符串和相邻文本?

来自分类Dev

大文件上的多行正则表达式匹配字符串替换

来自分类Dev

使用正则表达式检索字符串中特殊字符之间的链接

来自分类Dev

正则表达式使用python从文件中过滤和删除特定的多行文本

来自分类Dev

如何使用正则表达式从字符串中仅检索阿拉伯文本?

来自分类Dev

正则表达式,用于从字符串中删除重复的文本模式

来自分类Dev

使用正则表达式C#在两个字符串的块中获取文本文件的多行字符串

来自分类Dev

正则表达式,用于匹配多行文字

来自分类Dev

正则表达式用于文本文件中autovue.classpath =之后的完整字符串

来自分类Dev

正则表达式,用于将Python多行字符串与转义字符进行匹配

来自分类Dev

正则表达式,用于文本中的特殊字符和字符串模式

来自分类Dev

用于多行文件的perl正则表达式

来自分类Dev

用于验证字符串的正则表达式

来自分类Dev

正则表达式从字符串中检索变量字符串

来自分类Dev

正则表达式以匹配多行字符串

来自分类Dev

正则表达式分割多行字符串

来自分类Dev

如何在单行文本的正则表达式之后找到字符串?

来自分类Dev

Bash-使用正则表达式检索文件中的文本字符串

来自分类Dev

大文件上的多行正则表达式匹配字符串替换

来自分类Dev

用于字符串匹配的正则表达式

来自分类Dev

如何在基于正则表达式的文件文本中替换字符串?

来自分类Dev

正则表达式用于解析字符串

来自分类Dev

使用正则表达式进行文件匹配,而不是字符串匹配

来自分类Dev

正则表达式用于字符串替换

来自分类Dev

用于在多行匹配字符串之间提取文本的正则表达式?

Related 相关文章

  1. 1

    正则表达式,用于SimpleDateFormat字符串

  2. 2

    正则表达式,用于将Python多行字符串与转义字符进行匹配

  3. 3

    PHP正则表达式/搜索并替换多个文件中的多行字符串

  4. 4

    正则表达式从字符串中检索变量字符串

  5. 5

    如何使用正则表达式删除文件中的字符串和相邻文本?

  6. 6

    大文件上的多行正则表达式匹配字符串替换

  7. 7

    使用正则表达式检索字符串中特殊字符之间的链接

  8. 8

    正则表达式使用python从文件中过滤和删除特定的多行文本

  9. 9

    如何使用正则表达式从字符串中仅检索阿拉伯文本?

  10. 10

    正则表达式,用于从字符串中删除重复的文本模式

  11. 11

    使用正则表达式C#在两个字符串的块中获取文本文件的多行字符串

  12. 12

    正则表达式,用于匹配多行文字

  13. 13

    正则表达式用于文本文件中autovue.classpath =之后的完整字符串

  14. 14

    正则表达式,用于将Python多行字符串与转义字符进行匹配

  15. 15

    正则表达式,用于文本中的特殊字符和字符串模式

  16. 16

    用于多行文件的perl正则表达式

  17. 17

    用于验证字符串的正则表达式

  18. 18

    正则表达式从字符串中检索变量字符串

  19. 19

    正则表达式以匹配多行字符串

  20. 20

    正则表达式分割多行字符串

  21. 21

    如何在单行文本的正则表达式之后找到字符串?

  22. 22

    Bash-使用正则表达式检索文件中的文本字符串

  23. 23

    大文件上的多行正则表达式匹配字符串替换

  24. 24

    用于字符串匹配的正则表达式

  25. 25

    如何在基于正则表达式的文件文本中替换字符串?

  26. 26

    正则表达式用于解析字符串

  27. 27

    使用正则表达式进行文件匹配,而不是字符串匹配

  28. 28

    正则表达式用于字符串替换

  29. 29

    用于在多行匹配字符串之间提取文本的正则表达式?

热门标签

归档