Дан список идентификаторов в следующем формате:
test_one another_one lol heres1 wow_the_last
Я пытаюсь использовать sed, чтобы заменить его любым из следующих:
test_one,another_one,lol,heres1
test_one, another_one, lol, heres1
{test_one, another_one, lol, heres1}
{test_one,another_one,lol,heres1}
Я смог сделать это с помощью следующей команды sed:
sed -e 's/\(\w*\)\s/\1,/g'
но я надеялся найти более надежное решение, которое не зависит от последнего слова в списке без пробела. Вместо этого я пытался сделать совпадение основанным на том, что я не нахожусь в конце строки или не следую другому слову. Но мои попытки в этом направлении либо ничего не соответствовали, либо слишком много.
sed -e 's/\(\w*\)^$/\1,/g'
sed -e 's/\(\w*\)[^$]/\1,/g'
Я пробовал вышеупомянутое, но первый, похоже, ничего не соответствует, а тот, что ниже, выдает следующее:
test_one,another_one,lol,heres,