perl - 在 sed 中使用控制台转义颜色代码
问题描述
我需要为以 . 开头的线条着色#
。
我在 perl 中有以下代码,效果很好:
echo 'aaa\n#bbb\nccc' | perl -pe "s/(#.*)$/\e[0;32m\1\e[0m/"
我试图在 sed 中做同样的事情,但它只打印颜色代码,而不是颜色:
echo 'aaa\n#bbb\nccc' | sed -r "s/(#.*)$/\e[0;32m\1\e[0m/"
aaa
e[0;32m#bbbe[0m
ccc
为什么颜色代码在 sed 中不起作用,我必须做些什么不同的事情?
解决方案
使用 '\o033' 而不是 '\e':
$ echo -e 'aaa\n#bbb\nccc' | sed -r "s/(#.*)$/\o033[0;32m\1\o033[0m/"
推荐阅读
- c# - PeopleAPI 错误 403 Google 错误与否
- html - 一般兄弟姐妹在悬停时不起作用
- javascript - 如何使用 Google Drive Javascript API 更新 Google Drive 中的 zip 文件
- python - 如果预测的类标签是列表列表并且真实值是列表,则混淆矩阵
- r - 在R中按冬季而不是年份分组月份
- javascript - Discord.js 审核日志
- phpstorm - 如何只从远程服务器下载特定文件而不是整个项目?
- angular - 模态关闭后以角度更新视图
- java - 在 Eclipse 中创建 Maven 项目时出错
- sails.js - 如何在sails js中集成管理面板?