在Sublime Text中用正则替换Bash颜色变量为alias命令
Sublime Text 正则查找替换方案:Bash颜色变量转alias格式
需求说明
将Bash颜色变量定义(如 BLK=$'\e[0;30m')批量替换为 alias 缩写="echo -e 颜色转义码" 格式。
完整正则配置
查找正则(Find)
^([A-Z]{3})=\$'([^']+)'$
正则说明:
^匹配行起始位置,确保只匹配整行的变量定义([A-Z]{3})捕获3位大写字母的颜色缩写(如BLK、RED)=\$'匹配固定的变量赋值前缀=$'($需转义,避免被正则识别为行尾符号)([^']+)捕获单引号内的完整颜色转义码(如\e[0;30m)'$匹配行末尾的单引号,确保匹配完整行
替换表达式(Replace)
alias \1="echo -e '\2'"
替换说明:
\1引用第一个捕获组的颜色缩写\2引用第二个捕获组的颜色转义码
使用步骤
- 在Sublime Text中打开目标文件
- 按下
Ctrl+H(Windows/Linux)或Cmd+H(Mac)打开查找替换面板 - 勾选面板左下角的
.*按钮,启用正则匹配模式 - 粘贴上述查找正则和替换表达式
- 点击「Replace All」完成批量替换
示例效果
- 原行:
GRN=$'\e[0;32m' - 替换后:
alias GRN="echo -e '\e[0;32m'"
内容的提问来源于stack exchange,提问作者Derek Rickmon
相关产品推荐
相关产品推荐

