我在 Ubuntu 20.04 Mate 桌面环境中。
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}'
但它们不起作用。
答案1
您可以使用-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}'