[ПРОЙДЕН] pacman: квест (драконий уровень)

red, не обижайся на назойливость, но обрати внимание на китайский скрипт ...
Ошибки не исчезают с опытом - они просто умнеют
vasek
red, не обижайся на назойливость, но обрати внимание на китайский скрипт …
log2pkglist.awk ?

п.с.
китайский скрипт у меня выдает столько же как и мой 1166
red
китайский скрипт у меня выдает столько же как и мой 1166
Просто, наверное, твой скрипт у меня не отработал до конца (только 1-ая часть) - а потому и файлов слишком много
Ошибки не исчезают с опытом - они просто умнеют
log2pkglist.awk
#!/bin/awk -f
i = 3 {}
$3 ~ /^\[[^]]+\]$/ {
  i = 4
}
$i ~ /^(installed|upgraded)$/ {
  pkg[$(i+1)] = 1
  next
}
$i == "removed" {
  pkg[$(i+1)] = 0
}
END {
  for (i in pkg) if (pkg[i]) print i
}
chmod +x log2pkglist.awk
./log2pkglist.awk /var/log/pacman.log | sort > pkglist.orig

vs

awk '$4=="installed" || $4=="removed" {print i++,$4,$5}' /var/log/pacman.log |sort -k3 -k1n |awk '{print} END{print ""}' |awk '{if (a=="installed" && b!=$3) print b;a=$2;b=$3}' > packages.all.txt

сравниваем результаты

comm -23 pkglist.orig packages.all.txt
файлы одинаковы
red
файлы одинаковы
Убедился ...
awk '$4=="installed" || $4=="removed" {print i++,$4,$5}' /var/log/pacman.log |sort -k3 -k1n | awk '{print} END{print ""}' |awk '{if (a=="installed" && b!=$3) print b;a=$2;b=$3}' | wc -l
943
Сейчас все работает - совпало

PS - но топик был на пользу, для истории пригодится.
Ошибки не исчезают с опытом - они просто умнеют
в итоге получился такой однострочник(почти):
sudo pacman -Sy
awk '$4=="installed" || $4=="removed" {print i++,$4,$5}' /var/log/pacman.log |sort -k3 -k1n |awk '{print} END{print ""}' |awk '{if (a=="installed" && b!=$3) print b;a=$2;b=$3}' |yay -S -dd --dbonly --needed --logfile /dev/null --noscriptlet -
файлы пакетов не изменяются, изменения вносятся только в базу
red
в итоге получился такой однострочник(почти):
жалко, что в Wiki нет русской версии, а то было бы неплохо запилить и этот вариант - даже лучше китайского варианта (типа проще - одна стока)
Ошибки не исчезают с опытом - они просто умнеют
vasek
жалко, что в Wiki нет русской версии, а то было бы неплохо запилить и этот вариант - даже лучше китайского варианта (типа проще - одна стока)
возможно позже добавлю
или как вариант закинуть в английскую или туже китайскую, пусть переваривают наш китайско-русский говор :)
китаезы народ ушлый, точно применят у себя ........
中国同志,我尊重你,这只是俄罗斯的幽默
Ошибки не исчезают с опытом - они просто умнеют
vasek
中国同志,我尊重你,这只是俄罗斯的幽默
Пять баллов)))
 
Зарегистрироваться или войдите чтобы оставить сообщение.