Переключение нескольких строк в одну строку с разделенной запятой (Perl/Sed/AWK)
У меня есть следующие данные в нескольких строках:
foo
bar
qux
zuu
sdf
sdfasdf
Что я хочу сделать, это преобразовать их с одной строкой и запятыми:
foo,bar,qux,zuu,sdf,sdfasdf
Какой лучший однострочный unix для этого?
Ответ 1
Использование команды paste:
paste -d, -s file
Ответ 2
Файл
aaa
bbb
ccc
ddd
xargs
cat file | xargs
результат
aaa bbb ccc ddd
xargs изменен
cat file | xargs | sed -e 's/ /,/g'
результат
aaa,bbb,ccc,ddd
Ответ 3
xargs -a your_file | sed 's/ /,/g'
это более короткий путь
Ответ 4
Есть много способов, которыми это может быть достигнуто. Инструмент, который вы используете, в основном зависит от ваших собственных предпочтений или опыта.