From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on sa.int.altlinux.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=AWL,BAYES_00, DNS_FROM_OPENWHOIS, RCVD_IN_DNSWL_LOW, SPF_PASS autolearn=no version=3.2.5 Message-ID: <4BFFA5DB.9010507@mail.ru> Date: Fri, 28 May 2010 15:15:39 +0400 From: Oleg User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.1.*) Gecko/20100402 Thunderbird/3.0pre MIME-Version: 1.0 To: ledest@gmail.com, ALT Linux sysadmins' discussion References: <4BFE6ABC.30306@mail.ru> <201005271605.12546.ledest@gmail.com> In-Reply-To: <201005271605.12546.ledest@gmail.com> Content-Type: text/plain; charset=KOI8-R; format=flowed Content-Transfer-Encoding: 8bit X-Spam: Not detected X-Mras: Ok Subject: Re: [Sysadmins] =?koi8-r?b?Z3JlcCAteCDXIGJhc2g=?= X-BeenThere: sysadmins@lists.altlinux.org X-Mailman-Version: 2.1.12 Precedence: list Reply-To: ALT Linux sysadmins' discussion List-Id: ALT Linux sysadmins' discussion List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 28 May 2010 11:15:44 -0000 Archived-At: List-Archive: On 05/27/2010 05:05 PM, Led wrote: > On Thursday 27 May 2010 15:51:08 Oleg wrote: > >> Доброго времени суток! >> >> >> Есть скрипт, который проверяет аргументы командной строки, для того >> чтобы пропускать только те из них, которые соответствуют существующим >> правилам, как то: только буквы английского алфавита, цифры... : >> for I in "$@"; do >> if echo "$I" | LANG=C grep -qvx '[-_.a-z0-9][-_.a-zA-Z0-9@]*' >> then ... >> >> Делает это он замечательно )) Но теперь надо, чтобы он пропускал также 2 >> исключения - NAME1.BIN и NAME2.SFO >> >> Пробую: >> ./test.sh 12 34 56 >> for x in "$@"; do >> echo "$x" | grep -vx 12 -vx 34 >> grep: 34: No such file or directory >> не работает, >> echo "$x" | grep -ve 12 -ve 34 >> работает, но там-то нет точного соответствия, поэтому пропускается все, >> в котором есть эти знаки,. например: >> echo "$x" | grep -ve 1 -ve 3 >> выдаст только 56, потому что 1 и 3 есть в составе двух других цифр >> Подскажите, пожалуйста, как это побороть. >> > grep -vx -e 12 -e 34 > > Спасибо.