Когда я спрашиваю 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+
?
В grep
выражение слишком сложно. Использовать awk
для более простого и понятного решения, которое не требует чтения мастера регулярных выражений:
docker images | awk '$3 == "172c7702a46f" && $2 ~ /^[a-z]/ {print $2}'
То есть: если столбец 3 - 172c7702a46f, а столбец 2 начинается с букв, выведите столбец 2.