sed -e '/^line 2$/{r file1.txt' -e 'd;}' file2.txt
Скрипт sed
— это
/^line 2$/{
r file1.txt
d
}
Новая строка после имени файла file1.txt
является обязательной, поэтому разделение ее на отдельные -e
выражения в командной строке делает ее, возможно, более читабельной, чем
sed '/^line 2$/{r file1.txt
d;}' file2.txt
Сценарий ищет строку с содержимым line 2
. Когда это найдено, содержимое file1.txt
немедленно выводится, а исходная строка удаляется.
Использование sed -i
сделает изменения в строке -вfile2.txt
(нерекомендуемыми ).
У меня была похожая проблема: gsettings не мог изменить фон рабочего стола. Затем я нашел эту ссылку , показывающую, что установка anaconda меняет путь по сравнению с исходными настройками gsettings :
.$ which gsettings
/home/rafael/.anaconda3/bin/gsettings
Поэтому я переместил ~/.anaconda3/bin/gsettings
в ~/.anaconda3/bin/gsettings_bkp
, и теперь используются исходные настройки gsettings:
$ which gsettings
/usr/bin/gsettings