Я хотел бы отобразить все установленные пакеты за последний месяц с помощью команды 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)
Команда ниже дает запрошенные результаты
rpm -qa --last | grep -w "$(date --date='1 month ago' +'%b %Y')"
Я не могу сделать скрипт для вас, но я могу помочь вам так, что вы сможете сделать скрипт самостоятельно. После установки, нижеуказанный путь содержит установочный файл. Используйте следующие команды,
cd /usr/local/bin
ll
или
cd /usr/lib/
ll
Для даты, вы можете использовать следующие команды
date +"%Y-%m-%d" -d "последний месяц"
Переменные необходимо указать в кавычках:
rpm -qa --last |awk '$1>=from&&$1<=to' from="$lastmonth" to="$now"