Всякий раз, когда слово «The» появляется в начале строки, я хочу переместить его в конец строки и использовать новое первое слово в строке с заглавной буквы. Например, «Небеса» становятся «Небесами». Я пытаюсь проверить это для моей библиотеки.
2 ответа
3
Это должно работать:
sed 's/^The \(.*\)/\u\1 the/'
2
Если у вашего sed
нет \u
:
awk '$1 ~ "^The" {the=tolower($1); $1=""; char=toupper(substr($0,2,1)); rest=substr($0,3); print char rest, the}' inputfile
Присвоение нуля $
оставляет разделитель полей (пробел) на месте. Первый substr()
начинается с символа 2, чтобы пропустить этот пробел. Запятая рядом с концом печатает OFS
(разделитель выходного поля, по умолчанию используется пробел).