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