Существует также xargs
и sed
:
$ xargs <input.txt | sed -e 's/ /,/g'
EN1,EN2,EN3,EN4,EN5
Преимущество здесь состоит в том, что нет никакой запаздывающей запятой для избавлений от.
xargs
объединить входные строки, sed
заменять все пробелы запятыми. Я использую это обычно для построения регулярных выражений (пробелы замены с |
) и быстрые суммы для передачи по каналу в bc
(замените пробелы +
).
(К ВАШЕМУ СВЕДЕНИЮ xargs
значения по умолчанию к echo
как команда, если ни один не обеспечивается),
Примечание: Это только работает, если входной файл как описан (одно поле на строку, никакие пробелы). Если существует больше полей и/или пробелов во входе, можно использовать awk или sed, чтобы предварительно обработать вход. Например, с входом как это:
EN1 foo bar
EN2 bar foo
EN3 baz quux
EN4 abc def
EN5 hij klm
Здесь awk используется для извлечения только первого поля:
$ awk '{print $1}' input.txt | xargs | sed -e 's/ /,/g'
EN1,EN2,EN3,EN4,EN5
В этом втором (sed) примере пробелы в исходном входе заменяются некоторой другой строкой (выбранный в качестве маловероятных быть в исходном входе), затем питаемый в xargs. sed затем заменяет пробелы, добавленные xargs, и затем восстанавливает строки от входа:
$ sed -e 's/ /--space--/g' input.txt | xargs | sed -e 's/ /,/g' -e 's/--space--/ /g'
EN1 foo bar,EN2 bar foo,EN3 baz quux,EN4 abc def,EN5 hij klm
Теперь для некоторого бесплатного комментария страницы публицистики:
Одна из самых полезных частей знания об инструментах обработки текста Unix - то, что Вы можете и если должен думать о данных, как являющихся почти бесконечно покорным - можно преобразовать его в любую форму, которую Вы должны или предоставить входу другому процессу или произвести вывод, который Вы хотите или оба.
Это - часть причины, почему люди Unix склонны ненавидеть собственные форматы данных - это не просто философское неодобрение или желание избежать зависимости от поставщика, это - также очень прагматическое то, что они мешают нам управлять и использовать наши данные способами, которые не были предсказаны разработчиками программного обеспечения.
Существует три способа сделать это
Попытка использовать: C-a"
или можно использовать: C-a 'это откроет переключатель для подсказки окна, где можно ввести в любом числе.