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