Замена однозначных чисел на sed

Мне нужно решить следующую проблему:

Используя команду оболочки sed, замените все однозначные числа на их "произнесенные" эквиваленты. Многократные числа должны оставаться неизменными. Он должен работать, даже если число находится в начале или в конце строки.

Например: 5 слов 23 слова 1 слово -> пять слов 23 слова одно слово

Любая помощь приветствуется.

что вы пробовали и как это не удается?

Sundeep 11.04.2018 13:59
3
1
399
1

Ответы 1

Чтобы отделить одну цифру от кратных, вы можете использовать \ b (границу) следующим образом:

echo "5 word 23 word 1 word" | sed 's/\b1\b/one/g;s/\b2\b/two/g'

Замена неупомянутых цифр оставлена ​​в качестве упражнения для пользователя.

Другие вопросы по теме