У меня есть текстовый файл с большим количеством имен пакетов.
package1
package2
# comment
# installing package3 because it was needed for...
package 3
package 4
Как я могу массово установить все пакеты внутри текстового файла без удаления комментариев?
Следующая команда является (небольшим) улучшением по сравнению с альтернативой, потому что sudo apt-get install не выполняется, когда список пакетов пуст.
xargs -a <(awk '! /^ *(#|$)/' "$packagelist") -r -- sudo apt-get install
Обратите внимание, что опция -a считывает элементы непосредственно из вместо стандартного ввода. Мы не хотим передавать файл в xargs, потому что stdin должен оставаться неизменным для использования apt-get.
Учитывая файл списка пакетов package.list, попробуйте:
sudo apt-get install $(awk '{print $1'} package.list)