ALT Linux Community general discussions
 help / color / mirror / Atom feed
* [Comm] awk
@ 2005-05-30  5:48 Igo
  2005-05-30  8:43 ` Pavel Usischev
  0 siblings, 1 reply; 8+ messages in thread
From: Igo @ 2005-05-30  5:48 UTC (permalink / raw)
  To: community

Привет всем
как  правильно объявить переменную и вывести результат?
в таком виде print и cnt01840 ходят покругу

#!/bin/bash
gawk  -F \| '
{
cnt01840=0;
if( $0 ~ /^\|/ && ($4==01 || $4==02 || $4==03))
{
cnt01840++;
.........
.........
}
print(cnt01840);
}
' reestr.txt >1





^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] awk
  2005-05-30  5:48 [Comm] awk Igo
@ 2005-05-30  8:43 ` Pavel Usischev
  2005-05-30  9:24   ` Igo
  0 siblings, 1 reply; 8+ messages in thread
From: Pavel Usischev @ 2005-05-30  8:43 UTC (permalink / raw)
  To: community

Igo пишет:
> как  правильно объявить переменную и вывести результат?

Может быть, вы хотели сделать что-то вроде этого?

BEGIN { cnt01840=0 }
$0 ~ /^\|/ && ($4==01 || $4==02 || $4==03) { cnt01840++
	...
}
END { print cnt01840 }

-- 
С уважением,
Павел Усищев


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] awk
  2005-05-30  8:43 ` Pavel Usischev
@ 2005-05-30  9:24   ` Igo
  2005-05-30  9:41     ` Pavel Usischev
  0 siblings, 1 reply; 8+ messages in thread
From: Igo @ 2005-05-30  9:24 UTC (permalink / raw)
  To: community

да спс
только почему то BEGIN ругается
awk: cmd. line:3: BEGIN { cnt01840=0 }
awk: cmd. line:3: ^ syntax error

awk  -F \| '
{
BEGIN { cnt01840=0 }
 $0 ~ /^\|/ && ($4==01 || $4==02 || $4==03)
{
........
}

}
END {print("@cnt01_840=@"cnt01840"@SumValuta=@"sv01840"@SumRub="sr01840)
     print("@cnt01_978=@"cnt01978"@SumValuta=@"sv01978"@SumRub="sr01978)
     print("@cnt02_840=@"cnt02840"@SumValuta=@"sv02840"@SumRub="sr02840)
     print("@cnt02_978=@"cnt02978"@SumValuta=@"sv02978"@SumRub="sr02978)
     
print("-----------------------------------------------------------------------------")
     }
' reestr.txt >1



> Igo пишет:
>
>> как  правильно объявить переменную и вывести результат?
>
>
> Может быть, вы хотели сделать что-то вроде этого?
>
> BEGIN { cnt01840=0 }
> $0 ~ /^\|/ && ($4==01 || $4==02 || $4==03) { cnt01840++
>     ...
> }
> END { print cnt01840 }
>



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] awk
  2005-05-30  9:24   ` Igo
@ 2005-05-30  9:41     ` Pavel Usischev
  2005-05-30 11:17       ` Igo
  0 siblings, 1 reply; 8+ messages in thread
From: Pavel Usischev @ 2005-05-30  9:41 UTC (permalink / raw)
  To: community

Igo пишет:
> да спс
> только почему то BEGIN ругается
> awk: cmd. line:3: BEGIN { cnt01840=0 }
> awk: cmd. line:3: ^ syntax error
> 
> awk  -F \| '
> {
> BEGIN { cnt01840=0 }

А вы уберите { перед BEGIN и парную ей. И почитайте наверное учебник по 
awk (gawk), если предполагаете хотя бы раз в будущем с ним работать. 
Усилия наверняка окупятся, это очень мощный инструмент.

-- 
С уважением,
Павел Усищев


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] awk
  2005-05-30  9:41     ` Pavel Usischev
@ 2005-05-30 11:17       ` Igo
  2005-05-30 11:42         ` Pavel Usischev
  2005-05-30 12:58         ` Re[2]: " Maksim Otstavnov
  0 siblings, 2 replies; 8+ messages in thread
From: Igo @ 2005-05-30 11:17 UTC (permalink / raw)
  To: community

Спасибо
буду листать хотя полистав
(Язык обработки структурированных текстов AWK 
Производственно-внедренческий кооператив "И Н Т Е Р Ф Е Й С" Диалоговая 
Единая Мобильная Операционная Система Демос/P 2.1)
я ничего  не нашел например о разделители дробной части. Мне надо что бы 
он при чтении считал ","  а он хочет .
Может подскажите интересней этой книжки

> Igo пишет:
>
>> да спс
>> только почему то BEGIN ругается
>> awk: cmd. line:3: BEGIN { cnt01840=0 }
>> awk: cmd. line:3: ^ syntax error
>>
>> awk  -F \| '
>> {
>> BEGIN { cnt01840=0 }
>
>
> А вы уберите { перед BEGIN и парную ей. И почитайте наверное учебник 
> по awk (gawk), если предполагаете хотя бы раз в будущем с ним 
> работать. Усилия наверняка окупятся, это очень мощный инструмент.
>



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] awk
  2005-05-30 11:17       ` Igo
@ 2005-05-30 11:42         ` Pavel Usischev
  2005-05-30 12:15           ` Igo
  2005-05-30 12:58         ` Re[2]: " Maksim Otstavnov
  1 sibling, 1 reply; 8+ messages in thread
From: Pavel Usischev @ 2005-05-30 11:42 UTC (permalink / raw)
  To: community

Igo пишет:
> (Язык обработки структурированных текстов AWK 
> Производственно-внедренческий кооператив "И Н Т Е Р Ф Е Й С" Диалоговая 
> Единая Мобильная Операционная Система Демос/P 2.1)

Предпочитаю консультироваться с info gawk.

> я ничего  не нашел например о разделители дробной части. Мне надо что бы 
> он при чтении считал ","  а он хочет .

$ echo 3,1415 |awk '{print $1 + 1}'
4,1415

Ключевое слово -- локаль. Телепаты говорят, что запускаете от рута, у 
которого локаль C, в которой десятичный разделитель -- точка. 
Приведённый пример я запускал под ru_RU.KOI8-R, десятичная запятая 
замечательно распозналась.

-- 
С уважением,
Павел Усищев


^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [Comm] awk
  2005-05-30 11:42         ` Pavel Usischev
@ 2005-05-30 12:15           ` Igo
  0 siblings, 0 replies; 8+ messages in thread
From: Igo @ 2005-05-30 12:15 UTC (permalink / raw)
  To: community

я под cygwin :-(

> Igo пишет:
>
>> (Язык обработки структурированных текстов AWK 
>> Производственно-внедренческий кооператив "И Н Т Е Р Ф Е Й С" 
>> Диалоговая Единая Мобильная Операционная Система Демос/P 2.1)
>
>
> Предпочитаю консультироваться с info gawk.
>
>> я ничего  не нашел например о разделители дробной части. Мне надо что 
>> бы он при чтении считал ","  а он хочет .
>
>
> $ echo 3,1415 |awk '{print $1 + 1}'
> 4,1415
>
> Ключевое слово -- локаль. Телепаты говорят, что запускаете от рута, у 
> которого локаль C, в которой десятичный разделитель -- точка. 
> Приведённый пример я запускал под ru_RU.KOI8-R, десятичная запятая 
> замечательно распозналась.
>



^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re[2]: [Comm] awk
  2005-05-30 11:17       ` Igo
  2005-05-30 11:42         ` Pavel Usischev
@ 2005-05-30 12:58         ` Maksim Otstavnov
  1 sibling, 0 replies; 8+ messages in thread
From: Maksim Otstavnov @ 2005-05-30 12:58 UTC (permalink / raw)
  To: community

Hello Igo,

Monday, May 30, 2005, 3:17:14 PM, you wrote:

I> Спасибо
I> буду листать хотя полистав
I> (Язык обработки структурированных текстов AWK 
I> Производственно-внедренческий кооператив "И Н Т Е Р Ф Е Й С" Диалоговая 
I> Единая Мобильная Операционная Система Демос/P 2.1)
I> я ничего  не нашел например о разделители дробной части. Мне надо что бы 
I> он при чтении считал ","  а он хочет .

gawk должен реагировать на локаль.

I> Может подскажите интересней этой книжки

UTP (http://www.oreilly.com/openbook/utp/) ?

-- 
-- Maksim




^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2005-05-30 12:58 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-05-30  5:48 [Comm] awk Igo
2005-05-30  8:43 ` Pavel Usischev
2005-05-30  9:24   ` Igo
2005-05-30  9:41     ` Pavel Usischev
2005-05-30 11:17       ` Igo
2005-05-30 11:42         ` Pavel Usischev
2005-05-30 12:15           ` Igo
2005-05-30 12:58         ` Re[2]: " Maksim Otstavnov

ALT Linux Community general discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/community/0 community/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 community community/ http://lore.altlinux.org/community \
		mandrake-russian@linuxteam.iplabs.ru community@lists.altlinux.org community@lists.altlinux.ru community@lists.altlinux.com
	public-inbox-index community

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.community


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git