2

В настоящее время я пишу скрипт, который автоматически изменяет файл конфигурации, в частности, я хочу поместить "vfio vfio_iommu_type1 vfio_pci vfio_virqfd" (без кавычек) между скобками в MODULES = (). Я также хотел бы знать, как я мог бы удалить его позже из командной строки. МОДУЛИ находятся в файле /etc/mkinitcpio.conf и находятся в строке 7.

3 ответа3

1

Лучше дать нам пример вашего файла /etc/mkinitcpio.conf.

Вы можете использовать следующую команду, чтобы изменить файл, предполагая, что существует только один экземпляр: ()

sed -i 's/()/(vfio vfio_iommu_type1 vfio_pci vfio_virqfd)/g' /etc/mkinitcpio.conf

Чтобы вернуть его обратно, просто сделайте наоборот:

sed -i 's/(vfio vfio_iommu_type1 vfio_pci vfio_virqfd)/()/g' /etc/mkinitcpio.conf

Предполагая, что есть несколько его экземпляров, вы можете сделать следующее:

sed -i '7s/MODULES=\(\)/MODULES=(vfio vfio_iommu_type1 vfio_pci vfio_virqfd)/ /etc/mkinitcpio.conf

7 будет номером строки, где появляется экземпляр, который вы хотите изменить.

0

Вы можете использовать команду sed, которая предустановлена в Linux.

sed -i -e 's/MYWORD/HELLO FROM MYWORD/g' myscript.sh

Больше примеров:введите описание ссылки здесь

0

Заменить с помощью:

sed -i 's/MODULES=\(\)/MODULES=(vfio vfio_iommu_type1 vfio_pci vfio_virqfd)/g' /etc/mkinitcpio.conf

И вернуться с помощью:

sed -i 's/MODULES=\(vfio vfio_iommu_type1 vfio_pci vfio_virqfd\)/MODULES=()/g' /etc/mkinitcpio.conf

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .