Движущиеся символы в конец строки (EOL) с SED

Любое время слово "The" появляется в начале строки, я хочу переместить его в конец строки и использовать для своей выгоды новое первое слово в строке. Например, “Небеса” становятся “Небесами”. Я пытаюсь проверить это для своей Библиотеки.

0
задан 13.09.2010, 19:05

2 ответа

Это должно работать:

sed 's/^The \(.*\)/\u\1 the/'
3
ответ дан 24.11.2019, 03:10

В случае, если Ваш 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 (произведите разделителя полей который значения по умолчанию к пространству).

2
ответ дан 24.11.2019, 03:10

Теги

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