обработка исключений sed завершенных символов

Можно использовать внешний буфер и пропускать через него вывод.

Например, программа buffer позволяет буферизировать до 1Гб, а также можно указать, при каком уровне заполнения в процентах она должна начать запись :

В буфер 10 блоков по 512 кБ (5МБ) и записывать в файл при заполнении буфера до 85%:

wget пример. com -O- | buffer -s 512k -b 10 -p 85 > ./outfile.txt

(может понадобиться apt-get install buffer)


Но, кроме прямого ответа на вопрос, это не похоже на то, что нужно делать вручную. Может быть, вы можете настроить вашу файловую систему на кэширование операций записи немного дольше, чем на самом деле запись на диск? Зависит от того, какую именно проблему вы хотите решить.

1
14.04.2015, 18:11
1 ответ

Вам нужно смотреть на символ до процента.

sed 's/\([^\\]\)%.*/\1/'

Если предыдущий символ не является обратной косой чертой, оставьте этот символ и удалите остальные.

Этот ответ предполагает, что % не появляется в начале строки. Если это так, то нам нужно проверить это

sed 's/\(^\|[^\\]\)%.*/\1/'
1
27.01.2020, 23:50

Теги

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