У меня есть файл, в каждой строке которого есть предложение, например,
Random stuff,
"First sentence",
"second sentence.",
"Third sentence!"
More Random Stuff,
и т. Д. *
Я хочу на месте изменить только строки в кавычках, т. Е. 2-ю, 3-ю и 3-ю. 4-я строка в приведенном выше примере.
Я хочу сделать следующие изменения -
- Добавить полный стоп в конце строки (если отсутствует полный стоп или восклицательный знак)
- Сделать заглавную букву первого символа (если она еще не заглавная)
Я пробовал следующее решение для добавления полной остановки -
sed -i 's/[^!.]",/.",/g' $file
ВышеКоманда удаляет последний символ предложения как -
"First sentenc.",
И если я попробую следующую команду -
sed -i 's/[^!.]",/&.",/g' $file
, я получу следующий результат -
"First sentence",.",
Мой желаемый результат -
"First sentence.",
Как правильно решить эту проблему, не получив нежелательных результатов, как показано выше? Кроме того, как я могу сделать первый символ капитала?
Файл после модификации должен быть -
Random stuff,
"First sentence.",
"Second sentence.",
"Third sentence!"
More Random Stuff,