LINUX.ORG.RU

История изменений

Исправление 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