Я использую среду Ubuntu 20.04 Mate Desktop .
Я сталкиваюсь со странной ошибкой, когда пытаюсь передать строку date
в запрос регулярного выражения в следующей строке:
date="2020-12-11"
cat /var/log/dpkg.log | awk ' / installed / && /$date/ {print $5}'
Я пробовал разные комбинации, как предлагалось на форумах:
cat /var/log/dpkg.log | awk ' / installed / && /${date}/ {print $5}'
cat /var/log/dpkg.log | awk ' / installed / && "/$date/" {print $5}'
Но они выиграли не работает.
Вы можете передавать переменные с помощью параметра командной строки -v
:
date="2020-12-11"
cat /var/log/dpkg.log | awk -v date="$date" ' / installed / && $0 ~ date {print $5}'
или через массив ENVIRON
в случае переменных окружения
export date="2020-12-11"
cat /var/log/dpkg.log | awk -v date="$date" ' / installed / && $0 ~ ENVIRON["date"] {print $5}'
См., например, Передать переменную оболочки как /pattern/ в awk