当使用docker container ls -la
命令时,输出结果如下:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a67f0c2b1769 busybox "tail -f /dev/null" 26 seconds ago Up 25 seconds recursing_liskov
我只想获取“Names”列中包含容器名称的部分。
我的想法是使用bash反转命令输出中的列,以便将“Names”列放在第一位置,并截取容器名称。
这是我尝试过的方法:
sudo docker container ls -la | rev |tail -n +2 | tr -s ' ' | cut -d ' ' -f 1
但是这并没有得到预期的结果,而是出现了以下错误:
rev: stdin: Invalid or incomplete multibyte or wide character
我被卡住了,因为我不知道如何处理这个错误。能否修复它以获得我期望的结果?或者还有其他方法可以获得我的结果吗?
awk
抓取即可。例如cmd | awk '{print $NF}'
以打印最后一列。不过,你的awk
可能并不能比rev
更好地处理多字节字符。 - William Purselldocker ps
输出。 - David Maze