From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Message-ID: <471BBF39.3000401@gmail.com> Date: Mon, 22 Oct 2007 00:06:01 +0300 From: Andrew Kornilov MIME-Version: 1.0 To: ALT Linux sysadmin discuss References: <200710211929.59041.skompan@kspu.kr.ua> <471BAFAD.2070002@gmail.com> <200710220035.15736.peet@altlinux.ru> In-Reply-To: <200710220035.15736.peet@altlinux.ru> X-Enigmail-Version: 0.95.0 Content-Type: text/plain; charset=KOI8-R Content-Transfer-Encoding: 8bit Subject: Re: [Sysadmins] =?koi8-r?b?ydPQz8zY2s/Xwc7JxSDLz87T1NLVy8PJyiDDycvM?= =?koi8-r?b?z9cg1yDQ0sHXyczByCBmaXJld2FsbCDXIGV0Y25ldA==?= X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.9 Precedence: list Reply-To: ALT Linux sysadmin discuss List-Id: ALT Linux sysadmin discuss List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Oct 2007 21:10:51 -0000 Archived-At: List-Archive: Peter V. Saveliev wrote: > Если циклы нужны для построения рядов правил, где одно поле с каждым разом > изменяется на k, то можно же сделать простейший препроцессор, который будет > проходить файл правил на тему стандартных конструкций, и в, например, пайпе > отдавать это корке; либо, если решение монолитное, то раскрытие списка делать > сразу в память. Похожее решение в своё время применял в конфигураторе ровно > для этих же целей. Это примерно понятно. Вопрос в другом: как сделать препроцессор, не подключая ничего нового и тяжёлого, только bash и sed, раз они уже используются? eval тут не поможет. Просто хотел не изобретать своих конструкций, а использовать обычный shell синтаксис, безо всяких ограничений. Можно, в принципе, сделать простейшее: не читать построчно файл, а сначала пройтись по нему bash-ем, полученный output уже построчно отдавать *tables. Но это накладывает ограничения на написание этих циклов и прочих конструкций. Каждый ведь пишет циклы так, как ему больше нравится и тут сильно препроцессором не обработаешь.