Оговорюсь, что первый раз пишу под линукс, поэтому не ругайтесь сильно... :-[
Программка простейшая - гуи, который обрабатывает файл конфигурации и изменяет в нем некоторые параметры. Пока реализовал, по привычке с винды и дельфи, через TStringList. Загрузил файл в список, нашел нужные строки, заменил нужные параметры, сохранил...
Но, так как эта прожка предназначена только для линукс, постепенно появляются мысли сделать ее более "юникс-вейной" и избавиться от TStringList.
Под этим подразумеваю максимальное использование внешних программ (например grep). Как мне кажется, это даст и уменьшение размера проги.
Буду признателен за любые подсказки и ссылки, как реализовать средствами базовых программ линукс работу с файлом .conf (списком строк).
Работа со списком строк. Линукс
Модератор: Модераторы
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
"Юникс-вей" и использование TStringList никак не связаны. Юникс-вей - это когда программа читает исходные данные с stdin и отдает результаты в stdout. Внутри у нее при этом может быть что угодно.
Для простой обработки текста вполне удобно пользоваться старыми добрыми read(ln) и write(ln).
А с использованием внешних программ из комплекта linux, насколько я представляю, задача решается bash-скриптом буквально в одну строку (только не надо у меня спрашивать, каким - я далек от этой темы). Городить для этого программу на Паскале просто лишено смысла. Кроме того, при выполнении скрипта "связыванием" данных от внешних программ занимается shell, а при написании программы это придется делать самому. Там немало подводных камней, обход которых "компенсирует" уменьшение размера, достигнутое за счет внешних программ.
Для простой обработки текста вполне удобно пользоваться старыми добрыми read(ln) и write(ln).
А с использованием внешних программ из комплекта linux, насколько я представляю, задача решается bash-скриптом буквально в одну строку (только не надо у меня спрашивать, каким - я далек от этой темы). Городить для этого программу на Паскале просто лишено смысла. Кроме того, при выполнении скрипта "связыванием" данных от внешних программ занимается shell, а при написании программы это придется делать самому. Там немало подводных камней, обход которых "компенсирует" уменьшение размера, достигнутое за счет внешних программ.
