Bash
如何壓縮 bash 命令輸出中的空格?
我在一個小螢幕上工作,我試圖縮短這個命令的輸出,但我無法讓它工作。
命令:
docker container ls --all
輸出(太寬了!):
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e56e7efd4c3c 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest "/bin/bash" 32 minutes ago Exited (127) 31 minutes ago ami-test
我想要的輸出:
CONTAINER ID | IMAGE | COMMAND | CREATED | STATUS | PORTS | NAMES e56e7efd4c3c | 137112412989.dkr.ecr.us-west-2.amazonaws.com/amazonlinux:latest | "/bin/bash" | 32 minutes ago | Exited (127) 31 minutes ago | ami-test
以下是我嘗試過的 20 種左右變體中的一些,但沒有一個奏效:
docker container ls --all | sed "s/\s+/|/g" docker container ls --all 2>&1 | sed -e 's/\s+//g' docker container ls --all 2&1> | sed -e 's/[[:space:]]*/ /' docker container list --all | sed -e "s/\t/ /g"
我懷疑我對管道和/或 sed 的理解存在根本性錯誤。
也許您也可以嘗試使用 –format 選項。這是docker 參考的連結。
我嘗試使用格式選項重新創建您想要的輸出。
root@ubuntu:~# docker container ls --all --format "table {{.ID}} | {{.Image}} | {{.Command}} | {{.CreatedAt}} | {{.Status}} | {{.Ports}} | {{.Names}}" CONTAINER ID | IMAGE | COMMAND | CREATED AT | STATUS | PORTS | NAMES 5b19f1d7efc1 | ubuntu | "bash" | 2018-10-14 08:11:03 +0000 UTC | Exited (0) 17 minutes ago | | jovial_spence 05250b252a98 | hello-world | "/hello" | 2018-10-14 08:10:10 +0000 UTC | Exited (0) 18 minutes ago | | practical_bohr b206b0ad1f42 | hello-world | "/hello" | 2018-09-27 14:51:49 +0000 UTC | Exited (0) 2 weeks ago | | nifty_gates root@ubuntu:~#