Как я могу объединить несколько строк в одну строку с разделителем, где были символы новой строки, и избегать трейлинг-разделителя и, необязательно, игнорировать пустые строки?
Пример. Рассмотрим текстовый файл foo.txt
с тремя строками:
foo
bar
baz
Требуемый результат:
foo,bar,baz
Команда, которую я сейчас использую:
tr '\n' ',' <foo.txt |sed 's/,$//g'
В идеале это будет примерно так:
cat foo.txt |join ,
Что:
- самый портативный, лаконичный, читаемый способ.
- наиболее сжатый способ использования нестандартных инструментов unix.
Конечно, я мог бы написать что-нибудь или просто использовать псевдоним. Но мне интересно знать варианты.