gpt4 book ai didi

linux - 解析bash中两个字符串之间的值

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:53 25 4
gpt4 key购买 nike

我是 linux 的新手,尽管我需要一些简单的东西,但我不知道从哪里开始。在 bash 脚本中,我需要解析 HTML 页面中字符串“VOL.”和“,”之间的值,并将其传递给变量。

最佳答案

newvar=$(grep -oP 'VOL\.\K.*?(?=,)' file.txt)
echo "$newvar"

或来自字符串:

newvar=$(grep -oP 'VOL\.\K.*?(?=,)' <<< "$string")
echo "$newvar"

如果你需要更便携的东西:

newvar=$(perl -lne '/VOL\.\K.*?(?=,)/ && print $&' <<< "$string")
echo "$newvar"

正则表达式的解释

  • VOL\. = 文字 VOL. :. = regex 中的任何字符,不带反斜杠<
  • \K = 重新开始匹配到零,参见 https://stackoverflow.com/a/13543042/465183
  • .*? = 任何字符,0 到 N 次出现,但对 ? 字符不贪心
  • (?=,) = 查找 , 字符是一个积极的先行断言

关于linux - 解析bash中两个字符串之间的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16121734/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com