我正在将API调用的输出重定向到文件
然而,我总是得到围绕我需要的值的以下字符
domainid='^[[39;49;00m^[[33;01m75307d12-e3f4-4a96-ac23-e2a9439f8299^[[39;49;00m'
期望的输出
domainid='75307d12-e3f4-4a96-ac23-e2a9439f8299'
我真的不知道如何清理输出并让它看起来像上面那样。
任何建议都将受到高度赞赏。
谢谢
答案 0 :(得分:2)
这些是ANSI控制字符或转义序列,它们通常用于为输出添加颜色,下划线等。
首先,检查您的API命令行工具是否支持无颜色模式。这样可以解决您的问题。
除此之外,请尝试this Server Fault answer,它有一个命令,可以使用sed
清除文本文件中的ANSI序列。
答案 1 :(得分:1)
您可以通过仅使用要保留的子匹配替换该行来删除不需要的字符:
... | sed -r "s/(domainid=).*([0-9a-f]{8}(-[0-9a-f]{4}){3}-[0-9a-f]{12}).*/\1'\2'/i"