【问题标题】:How to make syntax highlighting in Bash with sed and Regex?如何使用 sed 和 Regex 在 Bash 中突出显示语法?
【发布时间】:2020-04-27 06:04:50
【问题描述】:

我正在尝试在 bash 中制作一个简单的语法荧光笔。我的目标是首先复制到 /tmp 中的 bash 脚本,这样我就可以用颜色 + 关键字 + reset_color 替换每个关键字。我只是想不出(也找不到)一种方法来突出显示此文件中的所有字符串(在双引号之间定义)。

您对如何制作一个正则表达式(与 sed 一起使用)有任何想法,这将帮助我用 \e[93m"*"\e39m 替换每个“*”模式,其中 * 是引号之间的内容。

【问题讨论】:

    标签: regex bash syntax


    【解决方案1】:

    你会尝试以下方法:

    sed $'s/"[^"]*"/\e[93m&\e[0m/g' file.txt
    
    • 正则表达式 "[^"]*" 匹配用双引号括起来的子字符串。
    • 替换中的和号& 指的是匹配的部分。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-28
      • 1970-01-01
      • 2010-11-16
      • 1970-01-01
      • 2012-12-09
      • 2016-12-20
      • 1970-01-01
      相关资源
      最近更新 更多