我有此输出并想从中提取图像 ID
$ podman image ls | grep youtube-dl
localhost/youtube-dl latest 2d4e37c4d609 3 hours ago 205 MB
我所知道的是,将这个管道连接cut -f3
到这个管道应该会成功,但实际上却不行。输出实际上是相同的。我找到的所有 cut 示例都告诉我,制表符(我相信这里也适用)被假定为分隔符。
有人能帮我指出正确的方向吗?也许我错误地认为输出使用了制表符。不过,我没法再说什么了
答案1
你是当然这是标签分隔符?
那将是相当异常在 Linux 环境中 -空格划定界限远的比较普遍;普遍上。
使用其中一个“awk“工具系列代替:
$ podman image ls | gawk '/youtube-dl/{print $3;}'
2d4e37c4d609
答案2
有很多方法可以做到这一点。例如,你可以cut
在修改字段分隔符的同时通过管道输出命令:
$ podman image ls | grep grep youtube-dl | tr -s ' ' | cut -d\ -f3
还可以通过管道输出来显示正在使用的分隔符(例如 TAB 或空格),od
如下所示:
$ podman image ls | grep grep youtube-dl | od -An -c