История изменений
Исправление vodz, (текущая версия) :
Кстати, как оно себя поведёт на ОЧЕНЬ больших файлах? Оно умеет жрать из stdin/pipe?
Пока хватает памяти, оно будет работать. stdin/pipe оно умеет также как и sed, об этом сказано в самом начале по поводу формата вызова, где [files...]* означает не обязательно и по поводу опции -i.
Из спортивного интереса попробуй изобрести то же самое на POSIX Shell (без расширений).
Обычный sh не умеет сам regex-ы и потому такое пожелание не очень. Я уже тут публиковал решение, искать лень, как в таких случаях делают: ищут свободный символ, grep-ом в цикле, потом меняют \n на него и далее уже sed/awk одной программой, а не построчно обрабатывают вложенные блоки, причём awk даже удобнее, так как он не только Тьюринг-полный как sed, но ещё и удобный — умеет считать (что надо для поиска всяких открыто-закрытых «скобочек»).
Исходная версия vodz, :
Кстати, как оно себя поведёт на ОЧЕНЬ больших файлах? Оно умеет жрать из stdin/pipe?
Пока хватает памяти, оно будет работать. stdin/pipe оно умеет также как и sed, об этом сказано в самом начале по поводу опции -i.
Из спортивного интереса попробуй изобрести то же самое на POSIX Shell (без расширений).
Обычный sh не умеет сам regex-ы и потому такое пожелание не очень. Я уже тут публиковал решение, искать лень, как в таких случаях делают: ищут свободный символ, grep-ом в цикле, потом меняют \n на него и далее уже sed/awk одной программой, а не построчно обрабатывают вложенные блоки, причём awk даже удобнее, так как он не только Тьюринг-полный как sed, но ещё и удобный — умеет считать (что надо для поиска всяких открыто-закрытых «скобочек»).