From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: php-coder To: community@altlinux.ru Mime-Version: 1.0 Content-Type: text/plain; charset=cp1251 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Mutt-Fcc: =outbox Date: Tue, 14 Jun 2005 10:27:01 +0700 Message-ID: Subject: [Comm] =?cp1251?b?x+3g9+Xt6OUg7+Xw5ezl7e3u6SDi?= awk X-BeenThere: community@altlinux.ru X-Mailman-Version: 2.1.5 Precedence: list Reply-To: community@altlinux.ru List-Id: Mailing list for ALT Linux users List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 14 Jun 2005 03:27:09 -0000 Archived-At: List-Archive: List-Post: Подскажите пожалуйста, как подставить значение переменной в awk-выражение. Есть следующая комманда: awk '{if(NR>30&&NR<47){if($1>10){$1++;print $0}else{print $0}}else{print $0}}' Translation.m Но мне нужно, чтобы условие в нем было не постоянным, как сейчас, а чтобы вмечто 30 и 47 подставлялись числа. BEGIN=`awk '/set 3/{print NR+2}' Translation.m` END=`awk '/set 4/{print NR-2}' Translation.m` А вот подставить не получается: [c0der@mycomp ~]$ awk '{if(`echo -n "NR>"$BEGIN"&&NR<"$END`){if($1>10){$1++;print $0}else{print $0}}else{print $0}}' Translation.m awk: {if(`echo -n "NR>"$BEGIN"&&NR<"$END`){if($1>10){$1++;print $0}else{print $0}}else{print $0}} awk: ^ invalid char '`' in expression [c1der@mycomp ~]$ Прошу помощи. Если надо, то могу объяснить задачу: есть файл формата: $set 1 1 bla 2 bla-bla 3 bla-bla-bla $set 2 1 blaa 2 blaa-blaa 3 blaa-blaa Таких секций в нем много. Мне нужно в третью секцию вставить еще одну строчку. Да так чтобы все последующие за ней увеличились на единицу. И это нужно только в одной секции подправить. Т.е. Было: $set 3 1 one 2 two ... 9 nine 10 ten ... $set 4 А должно стать: $set 3 1 one 2 two ... 9 NEW! 10 nine 11 ten ... $set 4 Вот. Такая вот задачка :) Не хочется ради нее писать что-либо на Перле или Питоне. Хочется в одну строчку ;) В одну строчку-то сделал, да вот не могу теперь сделать, чтобы этим однострочником кучу файлов обработать. Благодарю за помощь! -- + php-coder + php-coder[at]altlinux[dot]ru