Сделать это с помощью apt
довольно просто:
apt list --installed | cut --delimiter=/ --fields=1 | xargs apt reinstall -y
Часть apt list --installed
делает именно то, что можно было бы предположить.Символ |
направляет стандартный вывод команды apt
на стандартный ввод команды cut
. Часть cut --delimiter=/
указывает команде cut
использовать /
в качестве разделителя, а --fields=1
указывает cut
использовать первое поле, то есть текст перед первым /
, который появляется в выводе. команды apt list --installed
. В этом случае результатом команды cut
является список всех установленных пакетов без всей дополнительной информации, которая нам не нужна из команды apt list --installed
.
Следующий |
направляет стандартный вывод команды cut
, список всех установленных пакетов, на стандартный ввод команды xargs
, которая, в свою очередь, вызывает apt reinstall -y
для каждого из пакеты, которые в настоящее время установлены.
Примечание.:В зависимости от вашей подходящей конфигурации часть apt reinstall -y
может устанавливать обновления для ваших существующих пакетов вместо точных версий, которые вы установили в настоящее время.
Вы можете использовать zipinfo -1
для вывода списка путей к файлам и sed
для удаления путей, оканчивающихся на /
и перед каждой строкой ставится/
:
$ zipinfo -1 5124.zip | sed '/\/$/d;s/^/\//'
/u/MyCom/UNX/scripts/SYNC/sql/Load.sql
/u/MyCom/UNX/scripts/SYNC/sql/Update1.sql