Как добавить сложный текст с помощью vim/sed/awk

libgdiplusиlibgdiplus-devel:Оба находятся в наиболее часто используемом дополнительном репозитории для EL7 :epel.repo → «Дополнительные пакеты для Enterprise Linux»

https://fedoraproject.org/wiki/EPEL→ →https://fedoraproject.org/wiki/EPEL/FAQ#How_can_I_install_the_packages_from_the_EPEL_software_repository.3F

su -c 'rpm -Uvh http://download.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-8.noarch.rpm'

0
06.08.2019, 04:03
3 ответа

vim +/jenkins2 +j +":r insert.txt" +gg=G +wq testfile.txt

где insert.txt содержит фрагмент, который вы хотите добавить, а testfile.txt — это файл, который вы хотите отредактировать.

Однако я не уверен, что vim — лучший инструмент для этого.

  • +/jenkins2поиск jenkins2
  • +jперейти на одну строку вниз
  • ":r insert.txt"прочитать файл для вставки. Обратите внимание на цитаты!
  • +gg=Gавтоматический отступ файла
  • +wqи напишите
0
28.01.2020, 03:23

Я нашел работающую команду sed:

sed -i -e '/jenkins5/{ r example.txt' -e '; :L; n; bL;}' nginx_jenkins.conf

Когда необходим параметр env, вы можете использовать:

sed -i -e '/'${Alias}'/{ r example.txt' -e '; :L; n; bL;}' nginx_jenkins.conf
0
28.01.2020, 03:23

Для развлечения и обучения, как вимгольф на вашем примере есть вот это

vim +"4t4|/D/,/}/t4|'[,s/06/15/|s/52716/18015/|x" file.conf

Команды разделены|:

  • 4t4скопировать строку 4 в строку 4
  • /D/,/}/t4из строки, содержащей первый D, в строку, содержащую следующий }, скопировать в строку 4
  • '[,s/06/15/с первой строки последнего изменения на текущую строку (последняя строка последнего изменения ), замените 06на15
  • s/52716/18015/заменить текущую строку (, где 06было заменено в последний раз)
  • xсохранить изменения и выйти

:h :copy, :h '[,:h :/

0
28.01.2020, 03:23

Теги

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