С KSH, если у меня есть строка 12345
и я хочу, чтобы она была преобразована в 1.2.3.4.5
, как я могу это сделать?
Я пытался использовать cut
но это не так просто.
echo "12345" | cut -c1
С KSH, если у меня есть строка 12345
и я хочу, чтобы она была преобразована в 1.2.3.4.5
, как я могу это сделать?
Я пытался использовать cut
но это не так просто.
echo "12345" | cut -c1
Обязательный awk
ответ:
echo "12345" | awk '$1=$1' FS= OFS="."
Выход:
1.2.3.4.5
Ответ изменен одним из решений в этом сообщении переполнения стека .
Perl regex (с поиском и обратными ссылками) отвечает, чтобы заменить все на «все плюс плюс точка», кроме последнего (при условии, что это был вопрос):
$ echo "12345" | perl -wlpe 's/(.(?=.))/$1\./g'
1.2.3.4.5
Решение sed протестировано с помощью ksh и /usr /bin /sed на OpenSolaris
echo "12345" | /usr/bin/sed -e 's/./&\./g' -e 's/\.$//'