如何去除Docker ps命令输出端口列中的IPv6部分?
去除docker ps输出中Ports列的IPv6内容
由于Docker的--format模板不支持直接的字符串处理,你需要借助外部文本处理工具(如awk或sed)过滤掉IPv6端口部分,具体方法如下:
方法1:使用awk替换
sudo docker ps --format "table {{.ID}}: {{.Status}} {{.Ports}} {{.Names}}" | awk '{gsub(/\[::\]:[0-9]+->/, ""); print}'
原理:通过gsub函数匹配所有[::]:[端口号]->格式的IPv6映射串,将其替换为空,只保留IPv4端口信息。
方法2:使用sed替换
sudo docker ps --format "table {{.ID}}: {{.Status}} {{.Ports}} {{.Names}}" | sed 's/\[::\]:[0-9]*->//g'
原理:利用sed的全局替换功能,将所有符合[::]:[端口号]->的IPv6端口部分删除。
内容的提问来源于stack exchange,提问作者TMOTTM
相关产品推荐
相关产品推荐

