当我查询时docker images
,我得到了这个:
#> docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
local/debian 7.5 172c7702a46f 2 weeks ago 175.1 MB
local/debian wheezy 172c7702a46f 2 weeks ago 175.1 MB
我使用grep
提取图像标签:
#> docker images | grep -oP '\S+(?=\s+172c7702a46f)'
7.5
wheezy
我怎样才能完善这一点以wheezy
仅获取并避免任何匹配的内容\d+\.\d+
?
答案1
表达式grep
太复杂。使用awk
更直接、更清晰的解决方案,不需要正则表达式向导来阅读:
docker images | awk '$3 == "172c7702a46f" && $2 ~ /^[a-z]/ {print $2}'
即:如果第 3 列是 172c7702a46f,并且第 2 列以字母开头,则打印第 2 列。