Назад | Перейти на главную страницу

Как заменить последнюю точку перед первой запятой sed

Довольно новичок в bash / Linux, и я пытаюсь сделать следующее

У меня есть CSV с именами хостов и другой подобной информацией

host1.servers.com,serverA,location
host2.servers2.farm.com,serverb,location
a.servers.farm.farms.com,serverc,location

Мне нужно заменить последнюю точку в первой строке на (точку), но все, что я пробовал использовать sed, не работает. Я могу сделать это, вырезав, а затем выполнив замену, но тогда я потеряю оставшиеся поля

Как я могу запустить sed и не терять два других столбца, как при запуске cut -d ',' -f 1 | sed commad

Так должно получиться так

host1.servers(.)com,serverA,location
host2.servers2.farm(.)com,serverb,location
a.servers.farm.farms(.)test,serverc,location

Спасибо

Думаю, можно так:

$ echo a.servers.farm.farms.com,serverc,location|sed -r 's/\.([^.,]+),/(.)\1,/'
a.servers.farm.farms(.)com,serverc,location
$