Как заменить пробелы на запятые в консоли Linux (sed, tr, awk)
Обрабатывать логи и другие текстовые данные удобно скриптами прямо в консоли Linux. С sed, awk и регулярными выражениями можно почти творить чудеса
Частая задача — заменить пробелы запятыми, например чтобы сделать из строки CSV.

Коротко: sed 's/ /,/g' файл заменит все пробелы на запятые. Без g заменится только первый пробел в каждой строке.
Заменить первый пробел
sed 's/\s/,/' test.txt red,blue green black
\s — любой пробельный символ (пробел или табуляция).
Заменить все пробелы
Добавляем флаг g (global):
sed 's/\s/,/g' test.txt red,blue,green,black
Несколько пробелов подряд — одной запятой
Если между словами бывает по два-три пробела или табуляции, замените всю группу сразу:
sed -E 's/\s+/,/g' test.txt
Другие способы
tr ' ' ',' < test.txt— самый простой способ заменить каждый пробел на запятую;awk -v OFS=',' '{$1=$1; print}' test.txt— заменит любые группы пробелов на запятую и уберёт пробелы в начале и конце строки;sed -i 's/ /,/g' test.txt— изменит сам файл (без-iрезультат только выводится на экран). Перед-iлучше сделать копию файла.
Вот так просто!