Awk
отлично, но есть и другие способы заменить.
С помощью sed
вы можете получить все точки, а не только первую.
echo "abc edg.txt" | sed 's/\./~~/g'
Out: abc edg~~txt
Выражение sed 's/\./~~/g'
эквивалентно «заменить \.
(точка) на ~~
, глобально».
variable="abc here.is.more.dot-separated text"
echo ${variable}| sed 's/\./~~/g'
Out: abc here~~is~~more~~dot-separated text