问题描述
我正在尝试编写一个docker格式化程序,以使docker container ls
的输出更具可读性。我想截断“图像”字段,以便仅打印最后的n
个字符(我处理的某些图像具有很长的路径)。
例如:如何修改{{.Image}}
,以使输出来自此:
docker container ls --format "table {{.ID}}\t{{.Image}}"
43b15196a114 nginx:1.17.2-alpine
5cfb448d2aa5 this/container/has/a/very/long/path/elasticsearch:6.8.0
对此:
43b15196a114 nginx:1.17.2-alpine
5cfb448d2aa5 th/elasticsearch:6.8.0
解决方法
docker container ls --format 'table {{.ID}}\t{{with $i:=(print .Image)}}{{if le (len $i) 20}}{{$i}}{{else}}{{slice $i (slice $i 20|len)}}{{en
d}}{{end}}'