Вы можете использовать
awk -F':' '{sub(/\.[^.\/]*$/, "", $2); print $2;}' file
Используя -F':'
, вы разделите все записи (строки) на поля, разделенные двоеточиями.Вы получаете доступ ко второму элементу только с помощью $2
, но перед print
его необходимо удалить последние .
и все 0 или более символов, кроме .
и /
до конца поля.значение, которое выполняется с помощью sub(/\.[^.\/]*$/, "", $2)
.
См. онлайн-демонстрацию
С этим решением вы можете обрабатывать файлы и папки, которые могут иметь любое количество точек вих имена.