From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Envelope-To: X-Envelope-From: llb@udm.ru Date: Wed, 28 May 2003 22:50:09 +0500 From: ASA X-Mailer: The Bat! (v1.60q) Organization: LLB, LLC X-Priority: 3 (Normal) Message-ID: <958595626.20030528225009@udm.ru> To: Konstantin Vinokurov In-Reply-To: <200305282012.58578.altlinux@tut.by> References: <200305241034.16428.altlinux@tut.by> <200305270747.48879.altlinux@tut.by> <11249611066.20030528004631@udm.ru> <200305282012.58578.altlinux@tut.by> MIME-Version: 1.0 Content-Type: text/plain; charset=koi8-r Content-Transfer-Encoding: 8bit Subject: [Comm] =?koi8-r?B?UmVbMl06IFtDb21tXSBSZVsyXTogW0NvbW1dIFJlWzJdOiBbQ29tbV0gUzog?= =?koi8-r?B?LnJwbSBuYW1lIG5vcm1hbGl6ZXIgKHdhczog69zbIGFwdCk=?= Sender: community-admin@altlinux.ru Errors-To: community-admin@altlinux.ru X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.0.9 Precedence: bulk Reply-To: community@altlinux.ru X-Reply-To: ASA List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: Archived-At: List-Archive: List-Post: Hello Konstantin, Wednesday, May 28, 2003, 10:12:58 PM, you wrote: >> >> KV> if [ ! -z $(cat /root/CD.1 /root/CD.2 | grep >> >> $j) ] >> >> >> >> if grep -qs $j /root/CD.[12] >> >> KV> Как вариант. Мне нравится if со скобками. >> >> Сработает быстрее. Для длинных файлов - на порядок. KV> Т.е. если со скобками KV> if [ grep -qs $j /root/CD.[12] ] Это вообще не сработает. Я не писал скобок. man test if grep -qs $j /root/CD.[12] KV> быстрее чем KV> if [ ! -z $(cat /root/CD.1 /root/CD.2 | grep $j) ] KV> ?┼э Да. Потому что grep -q немедленно вернет результат "истина", которое затем сразу проанализирует if. В вашем же случае вызывается команда [ (посмотрите '/bin/[') у которой аргументами будет все остальное до знака ']'. Неэффективность в том, что $(grep ... ) заставит сформировать длинную строку со всеми вхождениями шаблона, в то время как для положительного ответа достаточно факта первого совпадения (grep -q). А если результирующая строка будет более 128Кбайт, то будет переполнение буфера командной строки у [. короче man grep man bash man test -- Best regards, ASA mailto:llb@udm.ru