显示上个月安装的所有补丁/软件包

显示上个月安装的所有补丁/软件包

我想使用rpm -qa --last以下格式输出的命令显示上个月安装的所有软件包:

libgcc-4.4.7-17.el6.x86_64                    Tue 01 Nov 2016 12:55:21 PM CET

在我的脚本中lastmonth=$(date --date='1 month ago')是我想要开始显示条目的日期。我尝试使用 grep、sed 和 awk,但到目前为止没有结果。这是我到目前为止得到的:

#!/bin/sh
now = date
lastmonth=$(date --date='1 month ago')
echo $lastmonth

rpm -qa --last |awk '$1>=from&&$1<=to' from=$lastmonth to=$now

我没有做太多事sed (rpm -qa --last |sed -n '/$lastmonth/,/$now/p')

但出现这个错误:awk: cmd. line:1: fatal: cannot open file `Feb' for reading (No such file or directory)

答案1

下面的命令给出了您请求的结果

rpm -qa --last | grep -w "$(date --date='1 month ago' +'%b %Y')"

答案2

我无法为你制作脚本。但我可以帮助你,让你可以自己制作脚本。安装完成后,以下路径包含安装文件。使用以下命令,

cd /usr/local/bin

ll

或者

cd /usr/lib/

ll

对于日期,您可以使用以下命令

date +"%Y-%m-%d" -d "last month"

答案3

您需要引用您的变量:

rpm -qa --last |awk '$1>=from&&$1<=to' from="$lastmonth" to="$now"

相关内容