apt-get массовая установка пакетов из файла?

У меня есть текстовый файл с множеством имен пакетов.

package1
package2

# comment
# installing package3 because it was needed for...
package 3

package 4

Как можно массово установить все пакеты внутри текстового файла, не удаляя комментарии?

36
задан 8 February 2013 в 17:23

5 ответов

Учитывая файл списка пакетов package.list, попробуйте:

sudo apt-get install $(awk '{print $1'} package.list)
0
ответ дан 8 February 2013 в 17:23

Что-то в этом роде должно сработать.

apt-get install $(grep -vE "^\s*#" filename  | tr "\n" " ")

Конструкция $ (что-то) запускает команду кое-что , вставляя ее вывод в командную строку.

Команда grep исключит любую строку, начинающуюся с #, опционально допуская пробелы перед ней. Затем команда tr заменяет символы новой строки пробелами.

0
ответ дан 8 February 2013 в 17:23

Следующая команда является (небольшим) улучшением по сравнению с альтернативой, потому что sudo apt-get install не выполняется, когда список пакетов пуст.

xargs -a <(awk '! /^ *(#|$)/' "$packagelist") -r -- sudo apt-get install

Обратите внимание, что опция -a считывает элементы непосредственно из файла вместо стандартного ввода. Мы не хотим передавать файл в xargs, потому что stdin должен оставаться неизменным для использования apt-get.

0
ответ дан 8 February 2013 в 17:23

Ну, вот мое решение установить список пакетов, которые я имею для новой установки:

sudo apt install -y $(grep -o ^[^#][[:alnum:]-]* "filename")

В a bash функция:

aptif () {
    sudo apt install -y $(grep -o ^[^#][[:alnum:]-]* "$1")
}

grep объяснение:

  • -o сохраните только часть строки, которая соответствует выражению
  • ^[^#] что-либо, что не запускается с a #
  • [[:alnum]-]* последовательность букв, чисел и -
0
ответ дан 23 November 2019 в 00:21

Я использую это простое решение:

grep -vE '^#' file.txt | xargs sudo apt install -y

grep находит все строки, которые не начинаются с # , и передает их в качестве аргументов sudo apt install .

3
ответ дан 17 April 2020 в 00:54

Другие вопросы по тегам:

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