如何使用sed和Regex在Bash中突出显示语法?

问题描述 投票:0回答:1

我正在尝试在bash中创建一个简单的语法突出显示器。我的目标是首先在/ tmp中复制的bash脚本,因此我可以将每个关键字替换为color + keyword + reset_color。我只是找不到(也找不到)突出显示此文件中所有字符串(在双引号“之间定义”)的方法。

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

regex bash syntax
1个回答
0
投票

您可以尝试以下操作:

sed $'s/"[^"]*"/\e[93m&\e[0m/g' file.txt
  • 正则表达式"[^"]*"与用双引号引起来的子字符串匹配。
  • 替换中的与号&是指匹配的部分。
© www.soinside.com 2019 - 2024. All rights reserved.