Замена точного слова в файле в ksh unix

#unix

#unix

Вопрос:

У меня есть файл под названием test.txt в UNIX и он имеет содержимое, подобное приведенному ниже

день воскресенье день понедельник день ночь ночь день вторник

Теперь я хочу заменить день ночью в unix (KSH), но значения воскресенья, понедельника, вторника не должны изменяться (точное значение дня должно быть изменено).). т.е. ожидаемый набор результатов следует,

ночь воскресенья, ночь понедельника, ночь ночи, ночь вторника

Может кто-нибудь помочь.. Заранее спасибо!!!

Ответ №1:

Это сделает это:

 sed 's/^day/night/; s/ day / night /g' file
  

Вывод:

 night sunday night monday night night night night tuesday
  

Редактировать файл на месте, сохраняя оригинал как file.old:

 sed -i.old 's/^day/night/; s/ day / night /g' file
  

Комментарии:

1. На самом деле, вы также должны показать ему, как вводить текст из файла, а затем заменять его!

2. Кто-нибудь знает, как сказать ^ or s , чтобы вы могли сделать это за один раз?