Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Замена текста в файле  (Прочитано 1696 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн vovin2002

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Замена текста в файле
« : 15 Ноябрь 2017, 18:03:32 »
Добрый день! Подскажите, пожалуйста, как в файле eeee.txt заменить слово «cccc» на текст из другого файла, состоящего из нескольких строк.

Оффлайн Azure

  • СуперМодератор
  • Старожил
  • *
  • Сообщений: 6015
  • Windows10, i3wm on Debian9, Manjaro20.0
    • Просмотр профиля
Re: Замена текста в файле
« Ответ #1 : 17 Ноябрь 2017, 02:04:51 »
Код: Bash
  1. sed '/cccc/{
  2.        r other.file
  3.        d
  4.     }' eeee.txt
В Линукс можно сделать ВСЁ что угодно, достаточно знать КАК !

Оффлайн vovin2002

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Замена текста в файле
« Ответ #2 : 20 Ноябрь 2017, 13:13:45 »
Спасибо, но немного не так. Этот код заменяет всю строку, содержащую слово «cccc». А мне нужно заменить только одно слово.

Оффлайн ReNzRv

  • Старожил
  • *
  • Сообщений: 2628
    • Просмотр профиля
Re: Замена текста в файле
« Ответ #3 : 21 Ноябрь 2017, 14:38:01 »
sed 's/cccc/'"$(sed -z 's/\n/\\n/g' other.file)"/ eeee.txt

Оффлайн vovin2002

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Re: Замена текста в файле
« Ответ #4 : 24 Ноябрь 2017, 01:00:04 »
Спасибо большое. То что нужно! Оказывается всё так просто )

 

Страница сгенерирована за 0.205 секунд. Запросов: 22.