[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Нужен ли bash



Artem Chuprina wrote:
> Serhiy Storchaka -> debian-russian@lists.debian.org  @ Thu, 25 Sep 2008
> 10:34:12 +0300:
>  >> P.S.  В sed-е FreeBSD опция -i таки. Это во-первых. Во-вторых, -i нет
>  >> в стандарте, и, стало быть, идет он лесом лесом, полем полем. На мой
>  >> взгляд, совершенно бесполезная и ненужная вещь, идущая вразрез со
>  >> всеми остальными ютилами юникса.
> 
>  SS> Гораздо полезнее была бы допустим утилита inplace, берущая имя
>  SS> файла, скармливающая содержание на вход программе или даже
>  SS> конвейеру и записывающая назад результат.
> 
> Беда в том, что в модель использования шелла такая утилита не ложится.
> Потому что пайп организуется шеллом.  А делать ее на одну команду -
> очень обгрызенная функциональность получается.  Именно поэтому у sed
> ключ -i не шибко полезен.  В отличие от перла, на котором программа той
> же функциональности, если эта функциональность не тривиальна, как
> правило, на порядок короче.

Поэтому лучше было бы это сделать встроенной возможностью шелла, как и
пайпы. «Заворачивание» конвейера в исходный файл, без перезаписи. Ведь не
так уж и редко такая возможность нужна — и многие утилиты, работающие как
фильтры (sed, dos2unix и т.п.), вынуждены реализовывать обработку частного
случая модификации файла сами. Кстати, чаще всего всё же речь идёт о одной
программе (в крайнем случае несколько можно натравить на тот же файл
последовательно).

Пожалуй я всё же запишу inplace.sh себе в ~/bin.


Reply to: