Не может перенаправить вывод от sed

Что самая легкая вещь состоит в том, чтобы использовать для этого? Perl? C?

Не многие люди собираются сказать, что C является самой легкой вещью для этого, хотя существует парсинг XML, освобождает для C. Я предполагаю, что это зависит, насколько удобный Вы с ним.

С динамическим контролем типов, возраженный ориентировался, такие как жемчуг - или Python или рубин, или php - идеально подходят для этого, и они будут запасами модулей, доступных для каждого аспекта задачи (например, сокеты TCP, и Вы очень определенно хотите использовать один для парсинга XML). Таким образом, вопрос действительно, кого из тех Вы находите самыми легкими использовать.

4
01.09.2014, 23:36
2 ответа

У тебя проблема с буферизацией выхода. sed обычно буферизирует его вывод, когда он не записывается в терминал, поэтому в файл ничего не записывается до тех пор, пока буфер не заполнится (вероятно, каждые 4K байт).

Используйте опцию -u для sed для распаковки вывода буфера.

clock -sf 'S%A, %B %d. %I:%M %P' | sed -u 's/\b0\+\([0-9]\+\)/\1/g' > testfile
5
27.01.2020, 20:54

У меня возникла та же проблема при попытке выполнить перенаправление из источника потокового вывода.

Вы должны использовать флаг-u(unbuffered )с sed, а затем PIPE данные вместо добавления их с помощью оператора >>(>>блокирует файл и блокирует ).

Вместо выполнения следующих работ

someprogram | sed '/filter/' | tee myfile.txt
2
25.03.2020, 19:29

Теги

Похожие вопросы