将AWS CLI V2重定向到文件会添加额外的控制字符

问题描述

如果我运行以下命令:

docker run -v "$PWD/aws":/root/.aws --rm -it amazon/aws-cli wafv2 list-ip-sets --profile dev --scope=CLOUDFRONT --region=us-east-1 --color off

我得到以下输出

{
    "IPSets": []
}

如果我运行以下命令:

docker run -v "$PWD/aws":/root/.aws --rm -it amazon/aws-cli wafv2 list-ip-sets --profile dev --scope=CLOUDFRONT --region=us-east-1 --color off > test.txt

我在test.txt中得到以下内容

[?1h=
{[m
    "IPSets": [][m
}[m

[K[?1l>

我认为这些是xterm控制代码或其他内容-在任何情况下,如何获取test.txt的内容以匹配输出到终端的内容?我在Mac上,但是我的解决方案需要在Mac和Linux上运行。

解决方法

显然,将-it参数传递给Docker是问题所在。仅通过-i就可以了。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...