История изменений
Исправление Deleted, (текущая версия) :
Насколько я помню (возможно ошибаюсь), единственный способ заставить sed обрабатывать файлы не построчно (чтобы заменять \n) приводит к тому, что весь файл загружается в память. Так что для больших файлов твой подход может не работать.
Попробуй лучше вот так:
tr "\n" "," <INPUT | sed -re 's/^/[/;s/,+/,/g;s/,+$/]/' >OUTPUT
Исправление Deleted, :
Насколько я помню (возможно ошибаюсь), единственный способ заставить sed обрабатывать файлы не построчно (чтобы заменять \n) приводит к тому, что весь файл загружается в память. Так что для больших файлов твой подход может не работать.
Попробуй лучше вот так:
( printf "["; tr "\n" "," <INPUT | sed -re 's/,+/,/g;s/,+$//'; echo "]" ) >OUTPUT
Исправление Deleted, :
Насколько я помню (возможно ошибаюсь), единственный способ заставить sed обрабатывать файлы не построчно (чтобы заменять \n) приводит к тому, что весь файл загружается в память. Так что для больших файлов твой подход может не работать.
Попробуй лучше вот так:
( printf "["; tr "\n" "," <INPUT | gsed -re 's/,+/,/g;s/,+$//'; echo "]" ) >OUTPUT
Исходная версия Deleted, :
Насколько я помню (возможно ошибаюсь), единственный способ заставить sed обрабатывать файлы не построчно (чтобы заменять \n) приводит к тому, что весь файл загружается в память. Так что для больших файлов твой подход может не работать.
Попробуй лучше вот так:
( printf "["; tr "\n" "," <INPUT; echo "]" ) >OUTPUT