Список только файлов, а не каталогов в архиве

Сделать это с помощью 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может устанавливать обновления для ваших существующих пакетов вместо точных версий, которые вы установили в настоящее время.

0
19.01.2021, 20:52
1 ответ

Вы можете использовать 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
3
18.03.2021, 22:36

Теги

Похожие вопросы