2017-02-13 6 views
1

Мне нужно отформатировать список рассылки, добавив запятую в конце каждой строки. Этот вопрос уже задавали, но я не получить ожидаемого результата с предложенным ответом:Добавить запятую в конце каждой строки

sed '$!s/$/,/' file > out.txt 

приводит:

[email protected] 
, 
[email protected] 
, 
[email protected] 
. . . 

Есть в любом случае это может быть улучшено? мне нужен, а необходимость:

[email protected], 
[email protected], 
[email protected], 
. . . 

Спасибо!

ответ

2

Используйте следующий подход, чтобы добавить запятую в конце каждой строки:

sed 's/$/,/' file > out.txt 

с/регулярное выражение/замена/флаги

+0

Спасибо за ваше предложение! –

+0

@FrancescoMarchioni, добро пожаловать – RomanPerekhrest

+0

Флаг 'g' не требуется; который применяет подстановку к каждому совпадению (не только к первому совпадению) в одной строке, но по определению любая строка будет только соответствовать '$' ровно один раз. Дело в том, что здесь разница заключалась в отбрасывании селектора '$!', Который соответствует всем, кроме последней строки. – chepner