заменить точку в строке, но оставить последнюю - PullRequest
1 голос
/ 17 января 2011

заменить на "." [точки], но оставьте последнюю: например: .txt [может быть случайное количество точек в строке, даже ноль, мне просто нужна последняя]

$ echo 'someth.ing.something.txt' | SOMEMAGIC
someth-ing-something.txt

Ответы [ 4 ]

1 голос
/ 17 января 2011
echo 'someth.ing.something.txt' | sed 's/\./-/g' | sed 's/-\([^-]*$\)/.\1/g'
1 голос
/ 17 января 2011
$ echo 'toto.tata.titi.' | sed 's/\.\([^$]\)/-\1/g'
toto-tata-titi.
0 голосов
/ 17 января 2011

в седе, с рекурсивными заменами:

sed ':a /\..*\./ {s/\./-/}; t a'
0 голосов
/ 17 января 2011

базовое имя one.two.three.txt .txt | sed -e 's / .// g' -e 's / $ /. txt /'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...