Если вы имеете в виду, просто добавьте запятую в конце каждой строки:
sed 's/$/,/' <oldfile >newfile
Если вы хотите соединить все строки в одну строку, разделяя их запятой:
awk '{printf "%s,",$0}' <oldfile >newfile
Или более правильный, без запятой (спасибо, @hacker, за указание на ошибку):
awk 'BEGIN {s=""} {printf "%s%s",s,$0;s=","}' <oldfile >newfile
Если вы хотите получить выходные данные любого из переменных в оболочке, просто используйте конструкцию $()
, например:
str=$(awk 'BEGIN {s=""} {printf "%s%s",s,$0;s=","}' <oldfile)
Я считаю, что предпочтительнее использовать $()
, а не обратные кавычки, поскольку это позволяет мне вкладывать команды, чего не могут делать обратные кавычки.