Предположим, вы хотите извлечь объект с id
, равным 11
, где ваши данные находятся в ] xxx.js
:
$ jq 'recurse(.Children[]) | select(.id == 11)' < xxx.js
{
"id": 11,
"Text": "CPU Package",
"Children": [],
"Min": "43,0 °C",
"Value": "58,0 °C",
"Max": "65,0 °C",
"ImageURL": "images/transparent.png"
}
Правильным инструментом для этой работы является paccache
1:
paccache -r -k 1 -c /path/to/cache/dir
Он удаляет -r
все кэшированные версии каждого пакета, кроме самой последней -k 1
в каталоге кэша, указанном через -c
.
Вы всегда можете не удалять старые пакеты сразу, а переместить их в другой каталог и удалить только позже.
Для получения дополнительной информации выполните paccache -h
.
1: Гибкая утилита очистки кэша pacman, включенная в пакет pacman
Учитывая папку pool
,сохранить последние 42 версии каждого пакета. Это предполагает, что имя пакета и его версия разделены символом подчеркивания.
pkgs=`find ${pool} -type f | cut -f1 -d_ | sort | uniq`
for pkg in ${pkgs}; do
find `dirname ${pkg}` -name "`basename ${pkg}`_*" | sort -rV | sed -e '1,42d' | xargs -r rm
done