awk‚ɂ‚¢‚ÄŒê‚éƒXƒŒ $2

‚±‚̃Gƒ“ƒgƒŠ[‚ð‚͂ĂȃuƒbƒNƒ}[ƒN‚ɒljÁ
•…‚Á‚Ä‚à‘âH éuûû‚à˜V‚¢‚Ä‚Íém”n‚É—ò‚éH
ŽOl‚Ì׊w‚ª¶‚Ýo‚µ‚½ƒXƒNƒŠƒvƒgŒ¾ŒêAWK‚ɂ‚¢‚ÄŒê‚éƒXƒŒ

Ÿ ‘OƒXƒŒ
awk‚ɂ‚¢‚ÄŒê‚éƒXƒŒ
http://pc10.2ch.net/test/read.cgi/tech/1023556171/

Ÿ ŠÖŒWƒXƒŒ
ƒVƒFƒ‹ƒXƒNƒŠƒvƒg‘Š’kŽº
http://pc10.2ch.net/test/read.cgi/tech/1112553783/
AWK‚ÅCGI
http://pc10.2ch.net/test/read.cgi/php/1171804314/
ysedzƒVƒFƒ‹ƒXƒNƒŠƒvƒg‘‡@LINUX Part2yawkz
http://pc10.2ch.net/test/read.cgi/linux/1154578200/

Ÿ ŽQl
The AWK Programming Language (Brian Kernighan)F
ttp://cm.bell-labs.com/cm/cs/awkbook/index.html

GAWK (GNU Projedt):
ttp://www.gnu.org/software/gawk/
awking shoes
ƒI[ƒN
ƒI[ƒN
ƒI[ƒN

@‰œ‚³‚ñ
‘½‚­‚ÍŒê‚é‚Ü‚¢B

Mawk - Mike' AWK
http://gnuwin32.sourceforge.net/packages/mawk.htm
‚¢‚⑽‚­‚ðŒê‚Á‚Ä‚­‚ê
6 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/02/25(“ú) 06:34:37
ƒ[ƒJƒ‹•Ï”AB
7 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/02/27(‰Î) 21:39:18
ƒNƒ[ƒWƒƒ‚ðŽ‚Á‚½awkŽÀ‘•‚Æ‚©‚È‚¢‚©‚Ë
8 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/02/27(‰Î) 23:45:59
ƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Å‚¿‚å‚¿‚å‚Á‚ÆŽg‚¤‚±‚Æ‚Í•p”É‚É‚ ‚邯‚Ç
‹C‡‚¢“ü‚ê‚ăvƒƒOƒ‰ƒ~ƒ“ƒO‚·‚é‚Á‚Ä‚Ì‚ÍÅ‹ß–³‚­‚È‚Á‚½B
>>7
‘OƒXƒŒ‚ÉObjective awk‚ªŽÀÝ‚·‚é‚©‚̂悤‚Șb‚ª‚ ‚邪ƒlƒ^‚¾‚낤B
ŽÀ—p«‚𖳎‹‚·‚ê‚ÎawkŽ©g‚Å‘‚­‚±‚Æ‚à•s‰Â”\‚Å‚Í‚È‚¢‚©‚à‚µ‚ê‚È‚¢B
‚¨–]‚݂Ɉê”Ô‹ß‚¢ŽÀ‘•‚ÍAŽÀ‚ÍJavaScript‚Å‚Í‚È‚¢‚©‚ÆB
http://developer.mozilla.org/ja/docs/New_in_JavaScript_1.7
ƒgƒbƒpƒ“‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾ŒêAWK‚ªƒuƒbƒNƒIƒt‚Å105‰~‚Å’@‚«”„‚ç‚ê‚Ä‚é‚Ì‚ðŒ©‚Ä
‚È‚ñ‚©”ß‚µ‚¢‹C•ª‚É‚È‚Á‚½
>>10
‰´‚àƒIƒ‰ƒCƒŠ[‚Ìused & awk ƒvƒƒOƒ‰ƒ~ƒ“ƒOv–{‚ªA}‘ŠÙ‚Ìu–³—¿‚ÅŽ‚Á‚Ä‚¯[’Iv
‚É‚ ‚Á‚½‚Ì‚ÅA‘¦ GET ‚µ‚½B‚Ü‚ A‚©‚È‚èŒÃ‚¢–{i1991 ”Nj‚¾‚¯‚ÇA“à—e‚Í‚¢‚¢–{‚¾B
’艿 \3800 ‰~‚̃oƒJ‚–{‚ÅA ‚½‚Ô‚ñAV‘‚Å‚Í”ƒ‚í‚È‚©‚Á‚½‚¾‚낤B

ƒgƒbƒpƒ“‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾ŒêAWK‚Á‚ÄA‚¢‚‚²‚ë‚Ì–{‚¾‚Á‚½‚¯B‚Æ‚è‚ ‚¦‚¸A105‰~‚È‚ç
—~‚µ‚¢‚Á‚·B
>>11
Ô‚¢•\Ž†‚Ì‘æ‚P”Å‚¾‚Ë‚«‚Á‚ÆB
—΂̕\Ž†‚Ì‘æ‚Q”Å‚ªŽèŒ³‚É‚ ‚邯‚ÇAgawk‚ÅŠg’£‚³‚ê‚Ä‚¢‚é
³‹K•\Œ»‚Ìà–¾‚Æ‚©‘‚¦‚Ä‚Ä‘æ‚Q”Å‚Ì‚Ù‚¤‚ª‚¨Š©‚ßB
‚¿‚Ȃ݂ɒ艿‚S‚P‚O‚O‰~‚È‚èB
13 F11F2007/03/01(–Ø) 23:52:54
>>12
> Ô‚¢•\Ž†‚Ì‘æ‚P”Å‚¾‚Ë‚«‚Á‚ÆB
‚»‚¤A‚»‚ê‚»‚êB ‚Ù‚ñ‚ÅA
gensub ‚ª‚È‚¢B‚à‚¿‚ë‚ñA
/inet/..... |& ....@‚à‚È‚¢B

Å‹ßA/inet/..... |& ....@‚ª‚ ‚éigawk3.1 ‚©‚çj‚±‚Æ‚ð’m‚Á‚ÄAgawk ‚ðŒ©’¼‚µ‚Ä‚¢‚éB
Žg‚¢ŽÌ‚ẴvƒƒOƒ‰ƒ€‚Í gawk ‚É`!!B
>>11
ƒgƒbƒpƒ“‚Ìʼn‚Ì–{‚È‚çŠm‚©1990”N‚Ìt ‚¾‚Á‚½‚ÆŽv‚¤B
ˆê‰žnawkƒŒƒxƒ‹‚Ì‹Lq‚Ì‚Í‚¸‚È‚ñ‚ÅAgawk‚È‚ñ‚©‚̌ŗL‚Ì
Šg’£‚𜂯‚Î\•ªŽg‚¦‚é‚Å‚µ‚åB

105‰~‚Íc‚¿‚Ɣ߂µ‚¢‚¯‚Ç‚¢‚¢l‚ÉE‚í‚ê‚Ä—~‚µ‚¢‚Ë‚¦B
>>13
gawk‚Ì /inet Šg’£‚Á‚ăCƒ}ƒCƒ`Žg‚¢‚Â炭‚Ë?

”Ä—p“I‚È‚Ì‚©‚à‚µ‚ê‚È‚¢‚¯‚ÇA‚¨ŽèŒy‚ÉhttpŒo—R‚Åwebƒy[ƒW‚Ì
“à—eŽæ‚ê‚ê‚΂¢‚¢‚Á‚Ä‚Æ‚«‚É‹Lq‚ª–Ê“|B
>>15
’Pƒ‚É

gawk '{print $0}' http://foo.org/index.html

‚Æ‚©‚ŃV[ƒ€ƒŒƒX‚ɃAƒNƒZƒX‚Å‚«‚é‚Æ‚¢‚¤‚Ù‚¤‚ª•Ö—˜‚È‚Ì‚©‚È?
http://www.gnu.org/software/gawk/manual/gawkinet/gawkinet.html#Web-page
‚©‚çAŠÈ’P‚È—áB

BEGIN {
RS = ORS = "\r\n"
HttpService = "/inet/tcp/0/www.yahoo.com/80"
print "GET http://www.yahoo.com" |& HttpService
while ((HttpService |& getline) > 0)
print $0
close(HttpService)
}
awk‚ÅSQL‚Ìleftjoin‚Ý‚½‚¢‚È‚±‚Æ‚Å‚«‚éH
>>17
‚È‚ñ‚¶‚Ⴑ‚è‚áB
wget -O - http://www.yahoo.com/ ‚Ìo—Í‚ð“Ç‚Þ‚Ì‚Æ‘S‘R•Ï‚í‚ç‚ñ‚ÈB
20 F15F2007/03/04(“ú) 03:46:24
>>16
‚Ü‚  wget‚Æ‚©curlŽg‚Á‚Ä•W€“ü—Í‚©‚çŽæ‚ê‚æ‚Æ‚¢‚¤˜b‚à‚ ‚é‚©‚à‚µ‚ê‚È‚¢‚¯‚ÇA
http://‚Ù‚°‚Ù‚° ‚Í“Á•Êˆµ‚¢‚µ‚Ä‚­‚ê‚é‚Æ‚¤‚ꂵ‚¢‚È‚ ‚ÆŽv‚Á‚Ä‚éB

‚Ü‚ HTML“Ç‚ñ‚Å‚»‚ê‚ð‰ðÍ‚·‚éŽèŠÔ‚ªŽŸ‚É‘Ò‚Á‚Ă邯‚Ç‚³w
ƒGƒ“ƒR[ƒfƒBƒ“ƒO‘Ήž‚Æ‚©FXl‚¦‚é‚ÆAawk‚ÅHTML‚ðˆ—‚µ‚悤‚Æ‚·‚é‚Ù‚¤‚ª
–³—‚ª‚ ‚銴‚¶B
‘f’¼‚ÉP‚Å‚Í‚¶‚܂錾Œê‚Æ‚©Žg‚Á‚Æ‚¯‚ÎH‚Ý‚½‚¢‚ÈB
22 F19F2007/03/04(“ú) 04:55:31
>>21
P‚Æ‚©RŽg‚¦‚Á‚Ä‚Ì‚Í‚Ü‚ ‚»‚¤‚È‚ñ‚¾‚¯‚ÇAHTML‚̑Ó–«‚Æ‚©ƒGƒ“ƒR[ƒfƒBƒ“ƒO‚ð‹C‚É‚µ‚È‚¢‚Å
‚¢‚¢Žg‚¢“¹‚Ål‚¦‚Ä‚½(ŒÂl“I‚É‚»‚¤‚¢‚¤Žù—v‚ª‚ ‚é)‚Ì‚Å‚ËB
HTML‚ÉŠÖ‚µ‚Ä‚Í‚«‚¿‚ñ‚Æ‚µ‚½ƒhƒLƒ…ƒƒ“ƒg‚È‚çxgawk‚Å‚Ç‚¤‚É‚©‚È‚é?


ÌAFortranAC‚®‚ç‚¢‚µ‚©’m‚ç‚È‚©‚Á‚½ŽžA
u‚¦‚ÁA‚±‚ñ‚È”s‚ÅŒvŽZo—ˆ‚é‚ÌHv
uƒvƒƒOƒ‰ƒ€“à‚Ƀtƒ@ƒCƒ‹–¼‘‚©‚È‚­‚Ä—Ç‚¢‚ÌHv
u‚±‚Ì”s‚ÅA‚·‚ׂẴf[ƒ^‚ÌŒvŽZ‚µ‚Ä‚­‚ê‚é‚ÌHv
‚Á‚ÄA‹Á‚«‚È‚ª‚ç—Fl‚É‹³‚¦‚Ä‚à‚ç‚¢‚Ü‚µ‚½B
¡‚È‚çAExcel‚Å‚·‚é‚悤‚ÈŒvŽZ‚Í‚·‚ׂÄawk‚Å‚µ‚Ä‚Ü‚µ‚½B
ƒAƒXƒL[‚©‚ç256”{ƒVƒŠ[ƒY‚ªo‚½‚®‚ç‚¢‚¾‚©‚ç
’–Ú‚ÌŒ¾Œê‚¾‚Á‚½‚ñ‚¾‚æ‚ËB

Visicalc‚Æ1-2-3‚Íawkƒu[ƒ€‚æ‚èÌ‚©‚ç‚ ‚Á‚½‚ñ‚¾‚¯‚Ç‚ËB
UNIX‚Á‚ĈӊO‚ƌ­‚È‚¢‚ñ‚¾‚æ‚ËB
>10
”­sŠ‚ªV‹IŒ³ŽÐ‚ÌuƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾ŒêAWKv‚ð2005”N‚ɒ艿3465‰~iÅžj‚Å”ƒ‚¢‚Ü‚µ‚½B
‰œ•t‚Éu–{‘‚Í1989”N11ŒŽ‚ÉŠ”Ž®‰ïŽÐƒgƒbƒpƒ“‚æ‚è”­s‚³‚ê‚Ü‚µ‚½B‚±‚Ì“xAŠ”Ž®‰ïŽÐV‹IŒ³ŽÐ‚æ‚èAŒ´o”ÅŽÐA–óŽÒ‚Ì‹–‰Â‚𓾂ÄÄ”­s‚¢‚½‚µ‚Ü‚µ‚½Bv‚Æ‘‚©‚ê‚Ä‚¢‚Ü‚·B
V‹IŒ³ŽÐ‚Á‚ÄRPG‚Ì–{‚µ‚©o‚µ‚Ä‚È‚¢‚ÆŽv‚Á‚Ä‚½‚©‚çˆÓŠO‚¾B
‘åÌ‚É’Ê‚Á‚Ä‚½‚ê‚Ì“y–ØHŠw‰È‚É‚Íawk‚ÌŽö‹Æ‚ª‚ ‚Á‚½
ŽÀŒ±‚̃f[ƒ^ˆ—‚É‚Å‚àŽg‚Á‚Ä‚Ù‚µ‚©‚Á‚½‚ñ‚¾‚낤
>24
awkƒu[ƒ€‚ÍA¼—‚Ɖ½”N ‚Å‚µ‚傤‚©?
>>28
DOS––ŠúB256”{–{‚ªo‚½93”N ‚ªƒs[ƒN‚Å‚ÍB
Œã‚ÌPerl‚Æ‚Í”äŠr‚É‚È‚ç‚È‚¢ƒvƒ`ƒu[ƒ€‚¾‚¯‚ÇB
30 F28F2007/04/17(‰Î) 08:45:33
>29
Œä‰ñ“š‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
Å‹ß‚Ìî•ñ‚ÍA‚±‚¿‚çI
ttp://gauc.no-ip.org/
‹SŽÔawk‚ð’N‚©ì‚Á‚Ä‚­‚ê‚È‚¢‚©‚È[
>>32
‚¢‚¢‚±‚ÆŒ¾‚¤‚Ë‚¥B
Ž^¬!
‚ ‚ƃ[ƒJƒ‹•Ï”‚ª—~‚µ‚¢‚È
function‚Ì’†‚̓[ƒJƒ‹•Ï”‚É‚È‚é‚æB
‚¢‚‚©‚çH–¢‚¾‚Ɉø”‚É•À‚ׂé‚à‚ñ‚¾‚ÆB
‚ [A‚²‚ß‚ñAˆø”•À‚ׂ½‚â‚‚ªƒ[ƒJƒ‹•Ï”‚É‚È‚éB‚¾‚Á‚½B
æ‚É錾‚·‚ê‚΂¢‚¢‚ñ‚¾‚©‚ç•Ê‚É‚æ‚­‚ËH
ƒLƒ‚‚¢‚â‚ñB‚»‚Ì‚â‚è•ûB
39 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/09/14(‹à) 04:37:24
‚±‚ê‚©‚çawk‚ð•×‹­‚µ‚Ü‚·B
awk‚ðŠw‚Ô‚±‚Æ‚É‚È‚é‚Å‚µ‚傤B
41 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/09/15(“y) 01:03:04
‚Ý‚È‚³‚ñawk‚ÍŒê‚ç‚È‚¢‚Ì‚Å‚·‚ËB
‘D“ªawk‚µ‚Ä‘DŽR‚É“o‚éB
l‚ÉŒ¾‚¦‚é‚Ù‚Çawk’m‚Á‚Ä‚é–ó‚Å‚à–³‚¢‚µ
‚¾‚¯‚Çl‚̘b‚Í•·‚«‚½‚¢‚µ
awk‚Ú—˜’Ê
46 Fcat.awkF2007/09/19(…) 08:55:44
1
47 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/09/19(…) 16:41:49
awk‚ð•×‹­‚µ‚Ä‚¢‚é‚Ì‚Å‚·‚ªAPerl‚ÉŠµ‚ê‚Ä‚¢‚é‚©‚ç‚©
awk‚Å‚Å‚«‚邱‚Æ‚ÍPerl‚Ńƒ“ƒ‰ƒCƒi[‚Å‚â‚Á‚½‚Ù‚¤‚ª(­‚È‚­‚Æ‚àŽ©•ª‚É‚Æ‚Á‚Ä‚Í)‘¬‚¢‹C‚ª‚µ‚Ä‚È‚è‚Ü‚¹‚ñB
‚±‚ê‚ɂ‚¢‚Äawkn—ûŽÒ‚Å‚ ‚éŠF—l‚Í‚¢‚©‚ª‚¨l‚¦‚É‚È‚è‚Ü‚·‚©H
‚±‚¤‚¢‚¤Žž‚Íawk‚Ì‚Ù‚¤‚ª•Ö—˜I‚Æ‚¢‚¤—á‚É‚Í‚Ç‚ñ‚È‚à‚Ì‚ª‚ ‚è‚Ü‚·‚©H
48 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/09/19(…) 16:43:11
ª‚ ‚Á‘¬‚¢‚Æ‚¢‚¤‚Ì‚ÍAƒR[ƒh‚ð‘‚­‚Ì‚ª‘¬‚¢‚Æ‚¢‚¤ˆÓ–¡‚Å‚·B
>>47
perl ‚Í‚È‚­‚Ä‚à awk ‚È‚ç“ü‚Á‚Ä‚¢‚鎖‚ª‚ ‚é
uƒR[ƒh‚ð‘‚­‚Ì‚ª‘¬‚¢v‚Æ‚¢‚¤Šî€‚ÅA
u‚±‚¤‚¢‚¤Žž‚Íawk‚Ì‚Ù‚¤‚ª•Ö—˜v‚Æ‚¢‚¤—á‚ð‘¼l‚É‹“‚°‚³‚¹‚Ä‚àA
‚»‚ê‚Í‚»‚ÌlŠÔ‚É‚Æ‚Á‚Ä‚Ì‘¬‚¢‹C‚ª‚·‚é•Ö—˜‚³‚Å‚ ‚Á‚ÄA
ˆÓ–¡‚Ì‚ ‚éˆê”Ê“I‚È‹c˜_‚É‚È‚ç‚È‚¢‚Ì‚Å‚Í‚È‚¢‚©H
Perl‚àRuby‚àPython‚àŽg‚¤‚¯‚ÇA“Á’è‚̃Jƒ‰ƒ€‚¾‚¯‚É‹»–¡‚ª‚ ‚éƒP[ƒX‚Í
–³ˆÓŽ¯‚Éawk‚ðŽg‚¤‚±‚Æ‚à‚ ‚éB

perl -a ‚Æ‚© cut‚µ‚Äpaste‚Æ‚©‚à‚ ‚邯‚ÇB
52 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/09/19(…) 18:19:27
>>49 ŠÂ‹«‚É‚æ‚炸“ü‚Á‚Ä‚¢‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·‚ËB

>>50@‚»‚¤‚Å‚·‚ËB
‚È‚ºawk‚È‚Ì‚©A
ˆê”Ê“I‚É‚Í‚Ç‚¤‚¢‚¤Žž‚Éawk‚ªŽg‚í‚ê‚é‚Ì‚©A
‚Æ‚¢‚¤‚Ì‚ªƒCƒ}ƒCƒ`Ž©•ª‚Ì‚È‚©‚Å•ª‚©‚Á‚Ä‚¢‚È‚¢‚Ì‚Å‚·B

>>51 ­‚µ•×‹­‚µ‚½ŒÀ‚è‚Å‚ÍAŠm‚©‚ɃJƒ‰ƒ€‚ÌŽæ‚èo‚µ‚Íawk‚ª•Ö—˜‚È‚Ì‚©‚à‚ÆŽv‚¢‚Ü‚µ‚½B

>>52
ƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚Ì’†‚ÅA•nŽã‚ȃVƒFƒ‹‚ÌŒvŽZ”\—Í‚ð
•â‚¤‚½‚ß‚ÉAƒc[ƒ‹ƒ{ƒbƒNƒX‚̈ê‚‚Ƃµ‚ÄŽg‚í‚ê‚邱‚Æ‚ª‘½‚¢B

‚Ì‚ÅAƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚ð‘‚­‹@‰ï‚ª‘½‚¢‚Ì‚È‚çA‚â‚Á‚Ä‚¨‚¢‚Ä
‘¹‚Í–³‚¢‚ÆŽv‚¤‚ªAƒtƒbƒgƒvƒŠƒ“ƒg‚ª‘½­ƒfƒJƒC‚±‚Æ‚Æ‚â‚âˆÚA«‚É
Œ‡‚¯‚邱‚Æ‚ð‹C‚É‚µ‚È‚¯‚ê‚ÎA•Ê‚ÉPerlŽg‚Á‚½‚Á‚Ä‚¢‚¢‚킯‚¾
i‚Ç‚¤‚¹¡‚È‚ç‘å’ï‚ÍŽg‚¦‚邾‚낤‚µAawk‚É‚µ‚Ä‚àˆê‰žPosix•W€‚¾‚ª
FX•ÏŽí‚ª‚ ‚éjB

‚ÜA’P‚É•Ö—˜‚ȃXƒNƒŠƒvƒgŒ¾Œê‚ª—~‚µ‚¢‚¾‚¯‚È‚çA¡Xawk‚ð‚â‚éˆÓ–¡‚Í
‚Ù‚Æ‚ñ‚Ç‚È‚¢‚¾‚낤B
ƒtƒB[ƒ‹ƒh•ªŠ„‚¾‚¯‚È‚çperl -a‚Åawk‚Ì^Ž—‚ª‚Å‚«‚邵‚ÈB
54 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/09/19(…) 20:06:52
>>53 ’š”J‚È‚¨•ÔŽ–‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
ƒVƒFƒ‹‚ÌŒvŽZ‚Ì•â•‚Å‚·‚©B
ƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚ð‘‚­‹@‰ï‚Í‘½­‚Í‚ ‚é‚Ì‚ÅA‘½­‚ÍŠo‚¦‚Ä‚¨‚±‚¤‚ÆŽv‚¢‚Ü‚·B
awk‚Æper‚ŒAˆ—‘¬“x‚Í‚Ç‚Á‚¿‚ª‘¬‚¢‚ñ‚¾‚ëH
‚Á‚ăIƒ}ƒG‚ªŽŽ‚¹‚Á‚ÄŒ¾‚í‚ê‚»‚¤‚¾‚¯‚Ç‚Ó‚ÆŽv‚Á‚½‚ñ‚Å‘‚¢‚Ä‚Ý‚½B
awk‚͈—Œn‘½‚¢‚©‚ç‚È‚Ÿ
‰½‚̈—‚©‚É‚à‚æ‚邾‚낤‚µ
‚Ç‚¿‚ç‚à“¾ˆÓ‚Æ‚·‚é’Pƒ‚ȃeƒLƒXƒg‚̃tƒBƒ‹ƒ^ƒŠƒ“ƒOˆ—‚È‚çA
I/O‘¬“x‚ŧŒÀ‚³‚ê‚é‚Ì‚Å‚Ç‚¿‚ç‚Å‚à(ˆ½‚¢‚Ísed‚ðŽ‚¿o‚µ‚Ä‚à)‘債‚Ä•Ï‚í‚ç‚È‚¢‚ÆŽv‚¤B

awk‚Ì^œ’¸‚͈ês–ì˜Y‚É‚ ‚é‚ÆŽv‚¤Ž„‚ÍA‚±‚ñ‚È‚Ì‚ð‚æ‚­‘‚«ŽÌ‚Ä‚éB
--
awk 'BEGIN {print 1+2*3-4;}'
ls -l /tmp|awk '$5>0'
ls -l |awk '{sum+=$5;} END{print sum;}'
Perl‚É‚½‚¢‚·‚éAwk‚ÌŒ»ŽÀ“IƒƒŠƒbƒg‚̓ƒ‚ƒŠÁ”­‚È‚¢‚±‚Æ‚­‚ç‚¢‚Å
‚±‚ê‚Í¡‚ÌŒvŽZ‹@‚Å‚Í”÷X‚½‚é–â‘肾B
ESR‚ÌArt of UNIX Programming‚𗧂¿“Ç‚Ý‚µ‚½‚ç
Awk‚ªƒƒ‚ƒŠß–ñ‚Ì‚½‚ß‚ÉŽd—l‚ð§ŒÀ‚µ‚½‚±‚Æ‚ª
‘Šú‚É‹£‘ˆ—Í‚ð‚È‚­‚µ‚½——R‚Ƙ_‚¶‚Ä‚¢‚½B
ƒoƒbƒh‚ÈŒ¾ŒêÝŒv‚ÌŒ©–{‚Á‚ÄŠ´‚¶‚ÅA‚¿‚Æ•s–ù‰õ‚¾‚Á‚½
>>57
‰´‚àŽžX‚â‚éB
‚»‚ÌŽž‚Í•Ö—˜I‚ÆŽv‚Á‚Ä.cshrc‚Æ‚©‚Éalias“o˜^‚·‚邯‚Ç‚·‚®‚É–Y‚ê‚Ä“¯‚¶“à—e‚ðŽè‘Å‚¿‚µ‚Ä‚½‚è‚·‚é
‚»‚Ì‹“‹å‚É‚±‚ê‚Í•Ö—˜I‚ÆŽv‚Á‚Ä.cshrcŠJ‚­‚ÆŠù‚É“o˜^‚µ‚Ä‚ ‚é‚Æ‚¢‚¤c
>>59
‘S‰´‚ª‹¤Š´‚µ‚½B
i.cshrc‚ð.bashrc‚É’u‚«Š·‚¦‚Äj@‰´‚à“¯‚¶ŒoŒ±‚ª‚ ‚éB
uˆês–ì˜Yv‚Í–¼–ó
‚Þ‚©‚µAu“Ç‘‚·‚éƒvƒƒOƒ‰ƒ}v‚ð‚æ‚ñ‚ÅAawk‚ʼnïŒv‚ð‚·‚é‚Ì‚ª‚©‚Á‚±—Ç‚¢‚Æ
‚¨‚à‚Á‚Ä‚Ü‚µ‚½B
‚Å‚àŠm’è\‚ð‚·‚ég‚É‚È‚Á‚½‚çEXCEL‚ðŽg‚Á‚Ä‚¢‚éB

uƒGƒ“ƒWƒjƒA‚Ì‚½‚ß‚ÌŽ––±ì‹Æ sed awk grep ‚»‚µ‚ÄTexv‚È‚ñ‚đЂª‚ ‚ê‚ÎH‚¢‚‚­‚Ì‚É...
awk‚ʼnïŒv—pƒXƒNƒŠƒvƒg‚ð‘‚­‚æ‚èA‰ïŒv‚Ì‚µ‚­‚Ý‚ð—‰ð‚·‚邱‚Æ‚Ì•û‚ª
‰´‚É‚Í—y‚©‚ɓ‚¢
Perl‚¾‚¯‚ÇA‚±‚ê‚ÍH
http://www.moge.org/okabe/temp/balance/
Perl ‚̓R[ƒhˆê–ÚŒ©‚ĉ´‚ªcore“f‚«‚»‚¤‚É‚È‚é
”CˆÓ‚É core ‚ª“f‚¯‚½‚ç•Ö—˜‚¾‚æ‚ÈB“ú‹L‘ã‚í‚è‚É‚È‚éB
>>67
‘ÌŒ^ˆÛŽ‚Ì‚½‚ß‚É—]‹V‚È‚­‚³‚ê‚Ä‚¢‚él‚à‚¢‚½‚悤‚Å‚·B
Žw‚ðA‚É“ü‚ê‚é‚悤‚É‚·‚é‚Ì‚ÅA‘­‚ÉŒ¾‚¤‚°‚낾‚±‚ªŽw‚É‚Å‚«‚Ü‚·B
69 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/10/03(…) 23:18:59
awk‚Á‚Ä‚È‚ñ‚ÅPerl•—‚ɳ‹K•\Œ»’uŠ·‚Å‚«‚é‚悤‚É‚È‚ç‚ñ‚ÌB“ÆŽ©Šg’£‚Å‚à‚¢‚¢‚ñ‚¾‚¯‚Ç‚ÈB
>>69
‚ñA‚­‚킵‚­B

Perl‚̃ƒ^•¶Žš‚ðŽg‚¢‚½‚¢‚Æ‚¢‚¤‚̂Ƃ͈Ⴄ‚Ì?
#Žg‚¦‚ñ‚킯‚¾‚ª
awk‚ÍDFA‚Åperl‚ÍNFA‚¾‚Á‚¯‚©?
>>71
ƒIƒŠƒWƒiƒ‹‚Å‚Í‚ËB
’†‚É‚ÍNFA‚ðŽg‚Á‚Ä‚¢‚éawk‚à‚ ‚éBmawk‚Æ‚©B
73 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2007/11/22(–Ø) 06:36:33
xgawk‚Å‘½”{’·®”‚ðŽg‚¢‚½‚¢‚ñ‚Å‚·‚ªA
printf( "%ld\n", num );
‚Å‚ÍŒ…”‚Í‘‚¦‚Ăณx‚Íオ‚Á‚Ä‚È‚¢‚悤‚Å‚·B
Œ^錾‚·‚é‚É‚Í‚Ç‚¤‚·‚é‚Ì‚Å‚µ‚傤‚©
>>73
‘½”{’·®”‚ðŽÀ‘•‚·‚é‚̂Ɍ•ʂ̸“x‚ðã‚°‚Ä‚Ç‚¤‚·‚éB
xgawk‚Í‘½”{’·®”‚ ‚é‚ñ‚Å‚·‚æ‚ËH
‚ÅAruby‚̂悤‚É–³éŒ¾‚ÅŽg‚¦‚é‚©‚ÆŽv‚Á‚½‚ç‚»‚¤‚Å‚Í‚È‚¢‚炵‚¢‚Ì‚ÅA
‚Ç‚¤‚·‚é‚Ì‚©‚ÆB

http://home.vrweb.de/~juergen.kahrs/gawk/XML/xmlgawk.html
‚¢‚Ü‚±‚Ì‚Ö‚ñŒ©‚Ä‚é‚ñ‚Å‚·‚ª
MPFR,‘½”{’·®”‚Å‚Í‚È‚­ŽÀ”‚©‚ÈB
ƒOƒO‚Á‚ÄŒ©‚‚¯‚Ü‚µ‚½B
http://www.kt.rim.or.jp/~kbk/zakkicho/zakkicho7.html#D060126

http://golf.shinh.org/p.rb?Factorial
ŽÀ‚Í‚±‚ê‚â‚Á‚Ä‚é‚ñ‚Å‚·‚ªB
‚ ‚Æ‚Ídll‚̃pƒX‚ª•ª‚©‚ê‚ÎEEE
>>76
u‚ ‚È‚²‚év‚Ì xgawk ‚Í MPFR Ï‚ñ‚Å‚È‚¢‚ÆŽv‚¤‚ªEEEB
‚»‚¤‚Å‚·‚©
‚Ç‚¿‚ç‚É‚µ‚Ä‚àŽÀ”‚Á‚ÄŽ–‚Í‚â‚Á‚Ï–³—‚È‹C‚ª‚µ‚Ü‚µ‚½
sed‚Ý‚½‚¢‚ÉAƒpƒ^[ƒ“•”•ª‚ðs”Ô†‚ÅŽw’èo—ˆ‚Ü‚¹‚ñ‚©H
>>79
awk 'NR == 79 {print;}'
‚Á‚Ä‚±‚Æ? ‚»‚ê‚Æ‚àA
awk 'FNR == 79 {print;}'
‚Á‚Ä‚±‚Æ?
>80
‚Í‚¶‚ßsed‚Ý‚½‚¢‚É 10,35{ ‚Ý‚½‚¢‚ÈŠ´‚¶‚É‘‚¢‚ă_ƒ‚¾‚Á‚½‚Ì‚Å; }
•’Ê‚É”äŠrŽ®‘‚­‚ñ‚Å‚·‚ËB10<=NR&&NR<=35{ ‚Åo—ˆ‚Ü‚µ‚½; }
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
>>81
‚à‚¤­‚µ sed ‚炵‚­‚µ‚½‚¢‚È‚çA
10==NR, NR==35 { print }
‚È‚ñ‚Ä‚Ì‚à‚ ‚è
awk ‚̓IƒvƒVƒ‡ƒ“‚È‚µ‚¾‚ƃƒ“ƒ‰ƒCƒi[‚̃R[ƒh‚ð‘‚­‚±‚Æ‚É‚È‚é‚ÆŽv‚¢‚Ü‚·‚ª
ŽÀÛ awk ‚̃ƒ“ƒ‰ƒCƒi[‚Á‚Ä‚Ç‚ñ‚ÈŽž‚ÉŽg‚¢‚Ü‚·‚©H
‚ ‚܂茩‚½‚±‚Æ‚ª‚È‚­‚Äc
>>83
UNIX‚Å‚Í‘½‚­‚̃tƒ@ƒCƒ‹‚âo—Í‚ª—“‹æØ‚èƒeƒLƒXƒg‚ÌŒ`Ž®‚É‚È‚Á‚Ä‚¢‚é‚©‚ç
‚»‚ÌêŽg‚¢ŽÌ‚ăƒ“ƒ‰ƒCƒi[‚ª–{—ˆ‚ÌŽg‚¢•û‚È‚ñ‚¾‚¯‚ÇA
‘¼‚ÌOS‚¾‚Æ BEGIN ‚ð main ‘ã‚í‚è‚ÉŽg‚¤‚悤‚Ȃ̂΂Á‚©‚É‚È‚é‚©‚à‚ËB
>>83‚ªsed‚ð‚Ç‚¤Žg‚Á‚Ä‚¢‚é‚Ì‚©‹C‚É‚È‚éB
sedƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚Æ‚©ì‚Á‚ÄAƒXƒNƒŠƒvƒg‚̈ø”‚Ɉ—‘Îۂ̃tƒ@ƒCƒ‹‚ð“n‚µ‚Ä‚½‚è‚·‚é‚Ì‚©‚ÈB
‚æ‚­‘‚­ˆês–ì˜YB
--
du -sk /tmp/* | awk '{sum += $1;} END {print sum / NR;}'
# ‚Ü‚ŸAdu‚Á‚Ä‚Ì‚Í¡Žv‚¢‚‚¢‚½‚¾‚¯‚ÅAŽÀÛ‚Édu‚Ìo—Í‚Ì•½‹Ï‚ðŽæ‚邱‚Æ‚Í‚È‚¢‚¯‚Ç‚ËB
--
paste foo bar | awk '($1 - $2) > 1e-3 || ($1 - $2) < -1e-3 {print NR, $0;}'
# ˆê’v‚ðŒ©‚é‚¾‚¯‚È‚çdiff‚Å‚¢‚¢‚¯‚ÇA‹ßŽ—‚ðŒ©‚é‚É‚ÍŽg‚¦‚È‚¢‚ñ‚ÅB
>>85
sed‚Í’P‘Ì‚Ì–½—ß‚ðŒ©‚Äu’uŠ·vus‚ÌØ‚èŽÌ‚Äv‚Ý‚½‚¢‚È—p“r‚ª
ƒpƒb‚ÆŒ©‚ÄŽv‚¢•t‚­‚Ì‚Å‹^–â‚Í•¦‚©‚È‚¢‚ñ‚Å‚·B

awk‚͂ЂƂ‚ЂƂ‚̖½—ß‚ðŒ©‚Ä‚à
•’ʂɃXƒNƒŠƒvƒgŒ¾Œê‚Ì–½—ß‚Æ‚µ‚©Žv‚¦‚È‚¢‚Ì‚Å
uƒR[ƒh‘‚­‚È‚ç‚Æ‚à‚©‚­Aƒƒ“ƒ‰ƒCƒi[‚Å‚Ç‚¤Žg‚¤‚ÌHv‚Æ
‹^–â‚ð‚à‚Á‚Ä‚µ‚Ü‚¤‚ñ‚Å‚·B

>>86
‚¤`‚ñAŒ‹\•¡ŽG‚É‚È‚è‚Ü‚·‚ËB
‚»‚ꂾ‚ÆŽ„‚È‚çƒ^[ƒ~ƒiƒ‹‚É‘‚©‚¸‚É
ƒR[ƒh‚É‹N‚±‚µ‚Ä‚µ‚Ü‚¢‚»‚¤‚Å‚·B

‚Å‚àAƒpƒ^[ƒ“‚ƃtƒB[ƒ‹ƒh‚ðãŽè‚­Žg‚¦‚Î
FXo—ˆ‚é‹C‚ª‚µ‚Ä‚«‚Ü‚µ‚½B
—á‚ð‚ ‚è‚ª‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚ AƒR[ƒh‘‚«‚»‚¤‚È‚Ì‚ÍŒãŽÒ‚Å‚·B
•½‹Ï‚Æ‚©‡Œv‚Ý‚½‚¢‚ȃ‚ƒm‚É‚Í—Ç‚³‚»‚¤‚Å‚·‚ËB
¡“ú‘‚¢‚½ˆês–ì˜YB
--
awk '{for (ic = 1; ic <= NF; ++ic) {if (max < $ic) max = $ic;}} END {print max;}'
--
‚±‚ê‚à‘SƒtƒB[ƒ‹ƒh‚ÉŠg’£‚µ‚Ä‚¢‚邾‚¯‚ÅA’P‚ÉÅ‘å’l‚𓾂Ă¢‚邾‚¯‚¾‚ËB
90 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/01/22(‰Î) 16:52:32
‚æ‚­‘‚­ˆês
du -k|awk '$1 > 10000'
‚Å‚©‚¢ƒfƒŒƒNƒgƒŠ‚ð‚³‚ª‚·
‰´‚ª‚æ‚­‘‚­ˆês–ì˜Y
$ awk 1 > hoge.sh
>>91
‚»‚ê‚ɉ½‚̈Ӗ¡‚ª?
cat > hoge.sh‚Å‚àŽ–‚ª‘«‚è‚»‚¤‚¾‚ªB
>92
Windows‚Éawk“ü‚ê‚Ä‚½Žž‚ÉA‚±‚ñ‚ȃwƒ“‚È•È‚ª•t‚¢‚Ä‚µ‚Ü‚Á‚½B
94 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/02/02(“y) 12:38:28
‚·‚Ý‚Ü‚¹‚ñA‰SŽÒ‚Å‚·‚ªawk‚ÉŠÖ‚·‚é½Ú‚ª‚±‚±‚µ‚©‚È‚©‚Á‚½‚Ì‚ÅB
«‚̃\[ƒX‚ð‘‚¢‚Ä‚¢‚½‚¾‚¢‚½‚Ì‚Å‚·‚ªA‚¢‚Á‚½‚¢‚Ç‚¤‚·‚ê‚ÎŽg‚¦‚é‚Ì‚Å‚µ‚傤‚©H
‚¿‚È‚Ý‚ÉA‚±‚ê‚̓tƒHƒ‹ƒ_“à‚ÌWinrarŒ`Ž®ƒtƒ@ƒCƒ‹‚̃ŠƒJƒoƒŠƒŒƒR[ƒh‚ª•t‚¢‚Ä‚¢‚é‚©”Û‚©
ƒŠƒXƒg‚ðˆêŠ‡‚Åo—Í‚·‚é‚à‚Ì‚Å‚·B
‚æ‚낵‚±
**************
ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚¾‚¯‚Çunrar lt sample.rar‚Ìo—Í—˜—p‚µ‚ăŠƒXƒg‚ðì‚邾‚¯
Žg‚¢•û‚̓pƒCƒv‚Åawk‚É“n‚µ‚Ĉ—unrar lt *.rar | gawk -f rr.awk
awk‚È‚ñ‚©“ü‚Á‚Ä‚È‚¢‚¾‚낤‚©‚ç“–‘R‚»‚Ì‚Ü‚Ü‚¶‚á“®‚©‚È‚¢

rr.awk
#!/usr/local/bin/gawk

BEGIN {$rr=0; printf "%-30s\t%s\n", "FileName", "RecoveryRecord";}

{if($1=="Solid" && $2=="archive"){
for(i=3;i<=NF;i++) printf "%-30s ",$i;printf "\t";getline;getline;
if($0=="Recovery record is present"){printf "Yes / ";
for(;;){getline;if($0=="Data header type: RR"){getline;printf "%sbyte\n",$2;break;}}
}else printf "No\n";}}
‚»‚ê‚ð“®‚©‚·‚É‚Í‚Ü‚¸ gawk ‚ð‚Ç‚±‚©‚©‚ç“üŽè‚·‚éB
>>94
>«‚̃\[ƒX‚ð‘‚¢‚Ä‚¢‚½‚¾‚¢‚½‚Ì‚Å‚·‚ªA

‘‚¢‚½l‚É•·‚­B

‚Æ“š‚¦‚é‚ÆA‚킯‚Ì‚í‚©‚ç‚ñ——R‚ðŒ¾‚Á‚Ä‚²‚˂邾‚낤‚©‚çA
æ‚ÉŒ¾‚Á‚Æ‚­‚ÆA‚»‚ñ‚ÈŒ©‹ê‚µ‚¢Œ¾‚¢–ó‚·‚é‚ÈB

‚Ç‚¤‚¹“š‚¦‚½‚Á‚ÄA¡“x‚Í››‚ª‚í‚©‚è‚Ü‚¹‚ñ‚Æ‚©Œ¾‚¢o‚·‚ñ‚¾‚ëH
‚Ç‚Á‚©‚©‚çgawk‚ð—Ž‚Æ‚µ‚Ä“WŠJ‚µ‚ë‚æB‘S‚­Aˆê¶ƒOƒO‚Á‚Ä‚ë‚æƒJƒX
"C:\Program Files\WinRAR\UnRAR.exe" lt *.rar | "gawk‚̃tƒ‹ƒpƒX" -f rr.awk
‚·‚¢‚Ü‚¹‚ñA‚ ‚éƒeƒLƒXƒg‚ð{print $1,$2}‚Æ‚µ‚Ä’Šo‚µ‚Ä

aaa 1
aaa 2
aaa 3
bbb 1
bbb 2
ccc 1
ccc 4
...

‚Æ‚Ü‚Å‚Í‚Å‚«‚½‚ñ‚Å‚·‚ªA•À‚ñ‚Å‚¢‚éƒf[ƒ^‚ð‚»‚ê‚¼‚êA

aaa 6
bbb 3
ccc 5

‚ÆWŒv‚µ‚½‚¢‚ñ‚Å‚·‚ªA‚ǂ̂悤‚É‚·‚ê‚΂¢‚¢‚Å‚µ‚傤‚©H
awk '{count[$1] += $2;} END{for (aaa in count) {print aaa count[aaa]}}'
‚ ‚Ƃ̓\[ƒg‚·‚ê‚΂¢‚¢‚Í‚¸
99 F97F2008/02/10(“ú) 20:22:03
>98‚³‚ñA‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·I
‚È‚¢‚Ì‚Å‚·‚ªA¡‚Ü‚Å•Ö—˜‚ȃc[ƒ‹‚É—Š‚Á‚Ä‚¢‚Ä‘S‘RƒRƒ}ƒ“ƒh‚ɂ‚¢‚Ä—‰ð‚Å‚«‚Ä‚¢‚È‚©‚Á‚½‚Ì‚Å¢‚Á‚Ä‚¢‚Ü‚µ‚½B
ŽÀ‚̓[ƒ‹ƒƒO‚Å‘—MŽÒ‚ª‚ǂꂾ‚¯‚Ì’Ê”‚ð‘—M‚µ‚Ä‚é‚©‚ðŠm‚©‚߂邽‚߂ɃRƒ}ƒ“ƒh‚Å‚Å‚«‚È‚¢‚©A‚Å>97‚ł‚܂¢‚Ä‚¢‚Ü‚µ‚½B
‰½‚Æ‚©“r’†‚Ü‚Å‚Å‚«‚½‚ñ‚Å‚·‚ªA”ñí‚ɃX[ƒp[ƒGƒŒƒKƒ“ƒg‚È1sƒR[ƒh‚Å‚µ‚ÄcB

Ž¿–â‚‚¢‚Å‚Å\‚µ–ó‚È‚¢‚Ì‚Å‚·‚ªA
(aaa in count) {print aaa count[aaa]}
‚Ìaaa‚ɂ‚¢‚Ä‚Í‚Ç‚¤‰ðŽß‚·‚ê‚΂¢‚¢‚Ì‚Å‚µ‚傤‚©H

>>99
bash‚Æ‚©‚Ìfor‚Æ‚©‚Æ“¯‚¶‚Å“K“–‚È•¶Žš—ñ‚È‚ç‚È‚ñ‚Å‚à‚¢‚¢‚Å‚·D—á‚Éo‚Ä‚«‚½aaa‚È‚ñ‚©‚É‚·‚é‚©‚ç‚â‚₱‚µ‚­‚È‚Á‚Ä‚·‚Ý‚Ü‚¹‚ñD
for(hoge in list) {...}
‚Å”z—ñlist‚̃L[‚ð•Ð‚Á’[‚©‚çhoge‚É“ü‚ê‚ă‹[ƒv‚·‚é‚Á‚ĈӖ¡‚É‚È‚é‚Í‚¸‚Å‚·‚æD
98‚¶‚á‚È‚¢‚¯‚Ç

awk '{count[$1] += $2;} END{for (i in count) {printf "%s %i\n", i, count[i]}}'

‚±‚¤‚â‚Á‚Ä‘‚¯‚΂µ‚ñ‚¹‚‚¶‚á‚ËH
ƒf[ƒ^‚Ì’†‚Ìaaa‚ÆloopƒJƒEƒ“ƒ^[‚Ìaaa‚𓯂¶–¼‘O‚É‚·‚é‚͈̂Ӓnˆ«‚¾‚ÆŽv‚¤‚æ

102 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/02/10(“ú) 20:37:23
101‚Å‚·B‚·‚Ü‚ñonz
103 F‚98F2008/02/10(“ú) 20:39:44
‚ [A‚Ý‚ñ‚È‘‚¢‚Ä‚¢‚é‚©‚玄‚Ì‘‚¢‚½‚Ì‚Í‘å•‚Éí‚é‚©B
‚»‚ÌENDƒuƒƒbƒN“à‚ÍA
for (§Œä•Ï” in ˜A‘z”z—ñ) {...;}
‚Æ‚¢‚¤ƒpƒ^[ƒ“B

‚»‚Ì‘O’i‚Ìcount[$1] += $2‚͈ês–Ú‚Ì‚Æ‚«
count["aaa"] += 1‚ƉðŽß‚³‚ê‚éBˆÈ‰º“¯—l‚ÉB
‚±‚Ìcount‚ª˜A‘z”z—ñ‚Æ‚µ‚ÄŽg‚í‚ê‚Ä‚¢‚é‚Æ‚¢‚¤‚±‚ÆB
>>101
c”½È‚µ‚Ä‚Ü‚·

‚¢‚âC‚Ù‚çC‚‚¢‚¢‚‚à‚̃NƒZ‚Åc‚²‚ß‚ñ
105 F97F2008/02/10(“ú) 20:52:15
‚¢‚¦‚¢‚¦‚¢‚¦‚¢‚¦c‚»‚¤‚¢‚¤ˆÓ–¡‚¶‚á‚È‚­‚Ä‹³‚í‚Á‚Ä‚¢‚È‚ª‚ç‚·‚¢‚Ü‚¹‚ñ‚Å‚·B
ã‹L‚Å‘‚¢‚½‚Æ‚¨‚è•Ö—˜ƒc[ƒ‹‚É—Š‚èØ‚Á‚Ä‚Ä–w‚Ç’m‚ç‚È‚¢Ž„‚ªˆ«‚¢‚Ì‚Å‚·‚ªcB
¡ˆê¶Œœ–½3byte’ö“x‚Ì”]‚Ý‚»‚ŕ׋­‚µ‚Ä‚é‚ñ‚Å‚·‚ªA2“ú–Ú‚ÅÁÜ‚µ‚»‚¤‚ÅŽ¿–₳‚¹‚Ä–á‚¢‚Ü‚µ‚½cB

‚½‚Æ‚¦‚΃ƒO‚É‚Í
Feb 9 22:44:40 localhost postfix/qmgr[1936]: 345C48C0154: from=<[email protected]>, size=556, nrcpt=1 (queue active)
‚Æ•K‚¸o‚Ü‚·B‚ÅA
1,¶ƒƒO‚ð‚»‚Ì‚Ü‚Üˆ—‚·‚é‚Ì‚ª•|‚¢i‘å‚«‚ȃtƒ@ƒCƒ‹j‚Ì‚ÅA“ú•t‚ŃƒO‚ð’Šo‚µ‚ĕʃtƒ@ƒCƒ‹‚Ö•Û‘¶B
2,grep‚Å nrcpt=‚Æ’Šo‚µ‚ÄA‚³‚ç‚Égrep -v‚ÅœŠO‚·‚éƒhƒƒCƒ“‚ðŽw’肵‚Ä’Šo
3,‚»‚µ‚Äsed‚Ånrcpt=‚ð휂µ‚Ä
4,‚±‚±‚Å>97‚̂悤‚É$7‚Æ$9‚ð•À‚ׂ½‚Æ‚±‚ë‚Å”]‚Ý‚»‚̃oƒbƒtƒ@ƒGƒ‰[‚ð‹N‚±‚µ‚Ü‚µ‚½B

‚±‚̈—‚Ì•û–@‚àƒGƒŒƒKƒ“ƒg‚È‚±‚Æ‚Í•ª‚©‚Á‚Ä‚¢‚Ü‚·‚ªA’p‚ͳ’m‚Å‚¨Žf‚¢‚µ‚½ŽŸ‘æ‚Å‚·cB
gsub‚Å[.*]‚ð’u‚«Š·‚¦‚é‚É‚Í‚Ç‚¤‚·‚ê‚΂¢‚¢‚Å‚µ‚傤‚©H
>>106
‚»‚ê‚̓Šƒeƒ‰ƒ‹‚Æ‚µ‚Ĉµ‚Á‚Ä‚Æ‚¢‚¤‚±‚Æ‚©‚¢?
‚È‚ç‘S•”ƒGƒXƒP[ƒv‚·‚ê‚΂¢‚¢‚ÆŽv‚¤‚ª‰½‚©–â‘肪‚ ‚é‚Ì?
awk‚ÅŒ»ÝŽž‚©‚çn•ª‘O‚©‚çˆÈ~‚̃ƒO‚¾‚¯‚𔲂«o‚µ‚½‚¢‚ñ‚Å‚·‚ªA‚Ç‚¤‚·‚ê‚΂¢‚¢‚Å‚µ‚傤‚©cB
02 15 12:34:56 xxxxxxxxx
02 15 13:45:01 xxxxxxxxx
...
...
...
‚Æ‚©‚ÌŒ`Ž®‚È‚Ì‚ÅAstrftime()‚Æ‚©‚ÅŒ»Ý‚ƃƒO‚ÌŽž‚ð”äŠr‚µ‚Ä”²‚«o‚·A‚Æ‚©‚ðŽŽ‚µ‚½‚ñ‚Å‚·‚ªƒ_ƒ‚Å‚µ‚½c
>>108 ‚±‚ê‚Å‘Ê–Ú‚©‚ÈH(ˆê‰ž gawk 3.0.4 ‚Å‚Í“®‚¢‚½)
BEGIN{
n=5
basetime=strftime("%m %d %H:%M:%S", systime()-60*n)
}
{
chktime=substr($0, 1, 14)
if(chktime >= basetime) print
}
>109

‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·c‘f’¼‚É–Ú‚ª—Ø‚Å‚µ‚½cB

> chktime=substr($0, 1, 14)

‚È‚ñ‚Å‚·‚Ëc
perl‚ªŽg‚¦‚È‚¢ŠÂ‹«‚È‚Ì‚ÅA‚±‚ꂪ•ª‚©‚ê‚΂¢‚ë‚¢‚ë—¬—pŒø‚­‚Ì‚Å•‚©‚è‚Ü‚µ‚½B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B‚à‚¤‚¿‚å‚Á‚Ƹi‚µ‚Ü‚·BBB
>>29
ð”N6ŒŽ‚ÉuAWK‚ð256”{Žg‚¤‚½‚ß‚Ì–{v‚ª–{‰®‚Ì‘’I‚É‚ ‚Á‚½‚Ì‚Å”ƒ‚¢‚Ü‚µ‚½B
‰œ•t‚É
1993”N8ŒŽ21“ú‰”Å”­s
2007”N5ŒŽ9“ú@‘æ1”Å‘æ16ü”­s
‚Æ‘‚©‚ê‚Ä‚¢‚Ü‚·B
>>111
‚¢‚‚̃ŒƒX‚ɃŒƒX‚µ‚Ä‚ñ‚¾i‚—

ÓÚ‚à”ƒ‚Á‚½‚¯‚ÇA‚Ü‚¾‘å‚«‚È–{‰®‚ÅŒ©‚©‚¯‚é‚ËB
>2007”N5ŒŽ9“ú@‘æ1”Å‘æ16ü”­s 

–{‰®‚Ì’I‚Å–°‚葱‚¯‚Ä‚½‚Á‚Ă킯‚¶‚á‚È‚¢‚Ì‚©w
–Ú‚ª—Ø ‚Ɉê’v‚·‚é“ú–{Œê‚̃y[ƒW –ñ 1,920 Œ’† 1 - 20 Œ–Ú (0.24 •b)
ƒƒK—Ø
sed, awk, ruby ‚ðŽg‚¤B
‚»‚ꂼ‚ê“KÞ“KŠ‚ÅŽg‚¤‚¯‚ÇA
used ‚¾‚¯vuawk ‚¾‚¯v‚ÅÏ‚Ü‚¹‚ç‚ê‚é‚ÆA
•sŽv‹c‚ÈŠì‚Ñ‚ðŠ´‚¶‚éB
117 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/03/30(“ú) 14:05:33
>>116
‚¤‚¿AAIXŽg‚Á‚Ä‚é‚ñ‚Åksh+sed+awk+perl‚¾‚ÈB
ruby‚ª•W€‚ŃCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚éŠÂ‹«‚Á‚Ä‚ ‚ñ‚Ü‚È‚¢‚ÆŽv‚¤B
ŒÃ‚¢ƒT[ƒo‚¾‚ÆPerl‚·‚ç“ü‚Á‚Ä‚È‚¢Ž–‚ª‚ ‚é‚©‚çawk‚Íd•ó‚·‚éB
Å‹ß‚Ìgawk‚ªƒlƒbƒgƒ[ƒN‚É‚àŽg‚¦‚é‚Æ’m‚Á‚Ä‚¿‚å‚Á‚Æ‹Á‚¢‚½‚—
ƒJ[ƒjƒnƒ“‚Ì–{ƒŒƒxƒ‹i‚Æ‚©256”{j‚µ‚©’m‚ç‚È‚¢l‚Á‚Ä‘½‚¢‚ÆŽv‚¤B
120 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/04/06(“ú) 12:44:41
ƒm[ƒ}ƒ‹‚Ìawk‚ÅXML‚ðŽš‰º‚°‚µ‚½‚肵‚Ä‚¤‚Ü‚­•\Ž¦‚³‚¹‚é‚É‚Í‚Ç‚¤‚·‚ê‚΂¢‚¢‚Ì‚©‚ÈEEE
121 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/04/06(“ú) 17:09:18
sed‚¾‚¯‚Å‘‚¯‚é‚ÆA‰´‚Á‚Ä“ªƒCƒC‚©‚à‚Á‚ÄŽv‚¤B

#!/bin/sed -f
•¶Žš—ñ‚Ì’Pƒ‚È’uŠ·‚¾‚¯‚È‚çawk‚æ‚èŠÈ’P‚É‘‚¯‚é‚ñ‚¾‚¯‚ÇB
awk‚ɌŎ·‚µ‚È‚¢‚Å—Õ‹@‰ž•Ï‚Ésed‚ðŽg‚¤‚Á‚ĈӖ¡‚Å‚È‚ç—v—Ì‚ª‚¢‚¢‚Æ‚¢‚¤ˆÓ–¡‚ÅŒ«‚¢‚¯‚ÇB
# awk‚Å‘‚¢‚½•û‚ªŠÈ’P‚È‚±‚Æ‚ðsed‚ÅŠæ’£‚Á‚Ä‘‚¢‚½‚Ì‚¾‚Æ‚µ‚½‚çA‚»‚̈Ӗ¡‚Å‚Í“ªˆ«‚¢‚Èw
awk‚©‚çsystem‚ÅsedŒÄ‚Ô‚±‚Æ‚ÍŽžX‚ ‚é‚—
>>24
awk‚Á‚Ä•\ŒvŽZ‚̂悤‚Ȉ—‚É“Á‰»‚µ‚Ä‚Ü‚·‚æ‚ËB
‚»‚Ì“_‚ª”ñí‚Ƀ†ƒj[ƒN‚Æ‚¢‚¤‚©Ž––±ˆ—‚ÌŒ¾Œê‚¾‚ÈA‚ÆB
visicalc(1979)awk(1977)‚Å‚·‚©‚çawk‚Ì‚Ù‚¤‚ªŽáŠ±ŒÃ‚¢‚ñ‚Å‚·‚ªA
•\ŒvŽZ‚̓Zƒ‹‚É’¼ÚŽ®‚ð‘‚­‚Æ‚¢‚¤”­‘z‚ªV‚µ‚©‚Á‚½B‚¤‚Þ‚ÞB
VisiCalc‚ÌlˆÄŽÒDan Bricklin‚É‚æ‚éƒAƒCƒfƒA‚Ìà–¾
ttp://www.danbricklin.com/history/saiidea.htm

Dan‚Ì“d‘삪HP‚¶‚á‚È‚­‚ÄTI‚È‚Ì‚ªˆÓŠO‚ÈŠ´‚¶B
The idea for the electronic spreadsheet came to me while I was a student at the Harvard Business School, working on my MBA degree, in the spring of 1978.
Sitting in Aldrich Hall, room 108, I would daydream.
"Imagine if my calculator had a ball in its back, like a mouse..." (I had seen a mouse previously, I think in a demonstration at a conference by Doug Engelbart, and maybe the Alto).
And "..imagine if I had a heads-up display, like in a fighter plane, where I could see the virtual image hanging in the air in front of me.
I could just move my mouse/keyboard calculator around, punch in a few numbers, circle them to get a sum, do some calculations, and answer '10% will be fine!'"
(10% was always the answer in those days when we couldn't do very complicated calculations...)
‚Í‚¶‚ß‚Ü‚µ‚Ägawk‚ÌŽ¿–â‚Å‚·
‚¨Žè‚·‚«‚ÌŽž‚É‚Å‚à‚²‰ð“š’¸‚¯‚Ü‚µ‚½‚ç•‚©‚è‚Ü‚·

2ch‚Å‚¨˜b‚µ‚Ä‚¢‚½‚¾‚¢‚½•û‚©‚çgawk‚ð‹³‚¦‚Ä’¸‚«‚Ü‚µ‚½
³‹K•\Œ»‚Ń}ƒbƒ`‚µ‚½•”•ª‚ª‚¢‚­‚‚ ‚Á‚Ä‚à‘S‚Ẳӊ‚ð1ƒAƒNƒVƒ‡ƒ“‚Å•Û‘¶‚Å‚«‚é—D‚ê‚à‚Ì‚Å‚·
“–•ûAŒ¾Œê‚Í‘S‚­’m‚ç‚È‚¢‚Ì‚Åæ‚قǂ܂ŃeƒXƒgŽÀs‚µ‚Ä‚Í‹Á‚¢‚Ä‚¢‚Ü‚µ‚½
‚±‚Ì—D‚ê‚à‚Ì‚ð¡Œã––‰i‚­Žg‚Á‚Ä‚¢‚«‚½‚¢‚Ì‚Å‚·‚ª
‰º‹L‚ÌŽ–€‚ðƒOƒO‚Á‚ÄŒ©‚½‚Ì‚Å‚·‚ª‚í‚©‚è‚Ü‚¹‚ñ‚Å‚µ‚½
‚Ç‚È‚½‚©‚í‚©‚é•û‚¨‚ç‚ê‚Ü‚µ‚½‚狳‚¦‚ĉº‚³‚¢

Ž„‚Ì‚â‚肽‚¢‚±‚Æ
EEUC‚ð“Ç‚Ýž‚ñ‚ÅS-JIS‚ðo—Í
EŠù‘¶‚̃eƒLƒXƒg––”ö‚ɒljÁ‘‚«ž‚Ý•Û‘¶
i‹³‚¦‚Ä’¸‚¢‚½ƒXƒNƒŠƒvƒg‚Íã‘‚«•Û‘¶‚È‚Ì‚Åo—Íæ‚Ì“à—e‚ªÁ‚¦‚Ä‚µ‚Ü‚¢‚Ü‚·j

‹C’·‚É‘Ò‚Á‚Ä‚¢‚Ü‚·‚̂ʼn½‘²‚æ‚낵‚­‚¨Šè‚¢’v‚µ‚Ü‚·
>>126
‘OŽÒ‚Íawk‚Å‚â‚é‚ׂ«‚±‚Æ‚Å‚Í‚È‚¢Biconv, nkf‚È‚Ç‚»‚êê—p‚̃c[ƒ‹‚ª‚ ‚éB
ŒãŽÒ‚à•K‚¸‚µ‚àawk‚Í•s—vBƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ªŽg‚¦‚éŠÂ‹«‚È‚ç•’Ê‚É‚Å‚«‚éB
—Ⴆ‚ÎAUnixŒn‚È‚ç cat append.txt >> original.txt ‚ÅŠù‘¶‚̃tƒ@ƒCƒ‹‚ɒljÁ‚Å‚«‚éB
DOSŒn‚Å‚àAtype append.txt >> original.txt ‚Å‚Å‚«‚éB
—v‚ÍAawk‚Ì‚¢‚¢‚Æ‚±‚ë‚Í‚»‚ê’P‘Ì‚Å‚È‚ñ‚Å‚à‚Å‚«‚é(ˆ½‚¢‚Í‚Å‚«‚È‚¢)‚±‚Æ‚Å‚Í‚È‚­A
ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ŠÂ‹«‚Å—Í‚ð”­Šö‚·‚éƒc[ƒ‹‚Å‚ ‚邱‚ÆB

—Ⴆ‚ÎA³‹K•\Œ»‚Ń}ƒbƒ`‚µ‚½•¶Žš—ñ‚ð’uŠ·‚·‚邾‚¯‚È‚çƒeƒLƒXƒgƒGƒfƒBƒ^‚Å‚à‚Å‚«‚éB
‚ [‚»‚¤‚»‚¤AƒGƒfƒBƒ^‚ª‚ ‚ê‚Ε¶ŽšƒR[ƒh‚Ì•ÏŠ·‚à‚»‚ꂾ‚¯‚Å‚Å‚«‚éB
ŠˆàƒeƒLƒXƒgƒGƒfƒBƒ^‚ðŽg‚Á‚½‚±‚Æ‚ª‚È‚¢‚È‚çAˆê“x(³‹K•\Œ»ŒŸõ‹@”\A
•¶ŽšƒR[ƒh•ÏŠ·‹@”\‚Ì‚ ‚é)ƒeƒLƒXƒgƒGƒfƒBƒ^‚ðG‚Á‚Ä‚Ý‚é‚Æ‚¢‚¢‚©‚à‚µ‚ê‚È‚¢B
>>127‚³‚ñ
>>126‚Å‚·
‚¨”æ‚ê‚Ì‚Æ‚±‚ë‘X‚Ì‚²‰ð“š½‚É‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
ƒRƒ“ƒo[ƒg‚͕ʂ̃c[ƒ‹‚Ås‚¤
DOSŠÂ‹«‚Å‚Ítype append.txt >> o—Íæƒtƒ@ƒCƒ‹–¼‚ŒljÁ‘‚«ž‚Ý
—¹‰ð‚µ‚Ü‚µ‚½
ƒGƒfƒBƒ^[‚ÍGŠÛƒGƒfƒBƒ^[‚ðŽg‚Á‚Ä‚¢‚Ü‚·
ƒRƒ“ƒo[ƒg‚Ío—ˆ‚é‚Ì‚Å‚·‚ªŒŸõ‚Ń}ƒbƒ`‚µ‚½•¶Žš—ñ‚Í1‰ÓŠ‚¸‚ƒRƒs[‚È‚ñ‚Å‚·
sakuraƒGƒfƒBƒ^[‚ňꊇƒRƒs[‚âØ‚èŽæ‚肪o—ˆ‚é‚Æ‹³‚¦‚Ä‚­‚ꂽ•û‚à‚¢‚Ä‚½‚Ì‚Å‚·‚ª
sakuraƒGƒfƒBƒ^[‚ÍŽŽ‚µ‚½‚±‚Æ‚ª–³‚¢‚ñ‚Å‚·
Ú‚µ‚­‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½
AAA.txt‚ðŠJ‚«h“Œ‹ž(.+?)†Žºh‚ðŒŸõ‚·‚é
ƒ}ƒbƒ`‚µ‚½•¡”‰ÓŠ‚ðˆêŠ‡‚ŃRƒs[‚µ‚ÄTEST.txt‚Ƀy[ƒXƒg‚·‚é

BBB.txt‚ðŠJ‚«h“Œ‹ž(.+?)†Žºh‚ðŒŸõ‚·‚é
ƒ}ƒbƒ`‚µ‚½•¡”‰ÓŠ‚ðˆêŠ‡‚ŃRƒs[‚µ‚ÄTEST.txt‚Ì––”ö‚Ƀy[ƒXƒg‚·‚é

CCC.txt‚ðŠJ‚«h“Œ‹ž(.+?)†Žºh‚ðŒŸõ‚·‚é
ƒ}ƒbƒ`‚µ‚½•¡”‰ÓŠ‚ðˆêŠ‡‚ŃRƒs[‚µ‚ÄTEST.txt‚Ì––”ö‚Ƀy[ƒXƒg‚·‚é

‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·
>>127‚ÍŒ‹‹Çawk‚̉𓚂͂µ‚È‚¢‚Ì‚É‚È‚ñ‚Å‚µ‚Ⴕ‚á‚èo‚Ä‚«‚½‚ÌH
‚Å‚«‚È‚¢‚¶‚á‚ñ
>>130
Ž¿–â‚É‹ï‘Ì«‚ª‚È‚¢‚©‚çˆê”ʘ_‚ð‘‚¢‚½‚¾‚¯‚¾‚¯‚ÇB

>>129
awk '/“Œ‹ž(.+?)†Žº/ {print > "TEST.txt";}' AAA.txt
awk '/“Œ‹ž(.+?)†Žº/ {print >> "TEST.txt";}' BBB.txt
ˆÈ‰º“¯—l‚ÉB
>>131
ƒŒƒX‚ ‚肪‚Æ
gawk '/“Œ‹ž(.+?)†Žº/ {print > "TEST.txt";}' AAA.txt
gawk '/“Œ‹ž(.+?)†Žº/ {print >> "TEST.txt";}' BBB.txt
ƒtƒ@ƒCƒ‹–¼AƒfƒBƒŒƒNƒgƒŠ–¼A‚Ü‚½‚̓{ƒŠƒ…[ƒ€@ƒ‰ƒxƒ‹‚Ì\•¶‚ªŠÔˆá‚Á‚Ä‚¢‚Ü‚·B
gawk3.16‚Å‚ÍŽg‚¦‚È‚¢H

>>132
DOS‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÌŽg‚¢•û‚Í‘¼Š‚Å•·‚¢‚Ä‚­‚êB
–ðŠ‚Ì‘‹Œû‚Ý‚½‚¢‚ȑΉž‚¾‚ÈB
DOS‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“‚ɂ‚¢‚Ä‚Í‘½‚­‚ð’m‚ç‚È‚¢‚ñ‚¾‚æB
DOS‚Ìꇂ͋󔒂ðŠÜ‚ÞꇃVƒ“ƒOƒ‹ƒNƒH[ƒg‚¶‚áƒ_ƒ‚¾‚©‚ç‚ÈB
ƒ_ƒuƒ‹ƒNƒH[ƒg‚ÅŠ‡‚Á‚Ä’†‚̃R[ƒh‚Í
ƒVƒ“ƒOƒ‹ƒNƒH[ƒg‚©AƒGƒXƒP[ƒv‚µ‚ă_ƒuƒ‹ƒNƒH[ƒg“ü‚ê‚é‚©B

ˆê”ÔŠÈ’P‚È‚Ì‚ÍAƒƒ“ƒ‰ƒCƒi[‚Å‚àƒtƒ@ƒCƒ‹‚É‹N‚±‚µ‚Ä‚µ‚Ü‚¤‚±‚ÆB
gawk -f myscript.awk AAA.txt
‚Æ‚â‚Á‚Ä‚µ‚Ü‚¦‚ÎAƒVƒ“ƒOƒ‹ƒNƒH[ƒg‚Æ‚©ƒ_ƒuƒ‹ƒNƒH[ƒg‚Æ‚©‹C‚É‚·‚é•K—v‚Í‚È‚¢B
>>132
“ñ‚–â‘肪‚ ‚éB
gawk‚̳‹K•\Œ»‚Å‚Í.+?‚Æ‚¢‚¤‚Ì‚ÍŽg‚¦‚È‚¢B
cmd.exe‚Å‚ÍAƒVƒ“ƒOƒ‹ƒNƒH[ƒg‚ðˆø”‚ð
‚­‚­‚é‚Ì‚ÉŽg‚¦‚È‚¢B

‚È‚ñ‚©‚æ‚­‚í‚©‚ç‚ñ‚ªAperl‚ŃeƒLƒXƒg‚ðŠÛˆù‚Ý‚µ‚Ä‚©‚ç
ˆ—‚·‚ê‚΂¢‚¢‚ñ‚¶‚á‚È‚¢‚Ì‚©H
VisiCalc ‚Æ‚¢‚¦‚ÎAoŽn‚ß‚Ì ‚É TRS-80 —p ‚ð Radio Shack ‚ÅŒ©‚¹‚Ä‚à‚ç‚Á‚½‚ñ‚¾‚¯‚ÇAŠw¶‚¾‚Á‚½Ž„‚ɂ͉¿’l‚ª‚í‚©‚ç‚È‚©‚Á‚½‚È‚ŸB
‚Ü‚ŸA‚±‚ê‚ÉŒÀ‚炸Aw‚È‚ñ‚Å‚±‚ñ‚ȃRƒ}ƒ“ƒh‚âƒIƒvƒVƒ‡ƒ“‚ª‚ ‚é‚ñ‚¾Hx‚Á‚Ä‚Ì‚Í‘½‚¢B
Žg‚¢•û‚¶‚á‚È‚­A‚È‚º‚»‚ꂪ‚ ‚é‚Ì‚©‚ð•ïŠ‡“I‚ɉðà‚µ‚½–{‚â web site ‚Á‚Ä‚ ‚è‚Ü‚·‚©B(‚½‚Æ‚¦‚Α½‚­‚Ì unix ƒRƒ}ƒ“ƒh‚ð–Ô—…‚µ‚Ä‚¢‚é‚Æ‚©)
‚ ‚ AƒXƒŒˆá‚¢‚¾‚Á‚½B‚²‚ß‚ñ‚²‚ß‚ñB
‚È‚ñ‚Æ‚¢‚¤Œë”š
>>132 ‚à‚¤‹‚È‚¢‚©‚ÈBgawk3.1.6 + nkf2.0 Žg—p@cmd.exe

C:\work>type aaa.txt (¦EUC‚Ȃ̂ʼn»‚¯‚鎖‚ðŠm”F)
¤Û¤²¤Û¤²
ÅE�¹æ¼¼
ÅE�£²¹æ¼¼
ÅE�£±£°¹æ¼¼
ÅE�¤Û¤²¹æ¼¼
ÅE�¤Õ¤¬¹EÅEÕ¤¬¹æ¼¼
ÅE�£³¹æ¼¼¤ÈÅE�£µ¹æ¼¼

C:\work>nkf -Es AAA.txt
‚Ù‚°‚Ù‚°
“Œ‹ž†Žº
“Œ‹ž‚Q†Žº
“Œ‹ž‚P‚O†Žº
“Œ‹ž‚Ù‚°†Žº
“Œ‹ž‚Ó‚ª†
“Œ‚Ó‚ª†Žº
“Œ‹ž‚R†Žº‚Æ“Œ‹ž‚T†Žº

C:\work>nkf -Es AAA.txt| gawk "/“Œ‹ž.*†Žº/{print $0}"
“Œ‹ž†Žº
“Œ‹ž‚Q†Žº
“Œ‹ž‚P‚O†Žº
“Œ‹ž‚Ù‚°†Žº
“Œ‹ž‚R†Žº‚Æ“Œ‹ž‚T†Žº

Šùo‚̒ʂ蕶Žš•ÏŠ·nkf(>>127) ³‹K•\Œ»‚̧–ñ‚ÅðŒ•ÏX(>>137)
ŽÀÛ‚ÉŽg‚¤ê‡‚Í‚±‚ñ‚ÈŠ´‚¶‚Ńoƒbƒ`ì‚é‚Æ‚©B
C:\work>nkf -Es AAA.txt| gawk "/“Œ‹ž.*†Žº/{print $0}" >>TEST.txt
142 F141F2008/05/06(‰Î) 02:56:02
‚ÆA•û–@‚ð‘‚¢‚Ä‚¨‚¢‚ăAƒŒ‚¾‚¯‚ÇA
GŠÛŽg‚Á‚Ä‚é‚È‚çgrep‚ÌŽÀs‚ÅŒŸõ‚·‚éƒtƒ@ƒCƒ‹‚É(Œ»Ý‚Ì“à—e)‚Å
ŒŸõŒ‹‰Ê‚©‚çƒtƒ@ƒCƒ‹–¼‚Æs”Ô†‚𜋎‚·‚é‚Ì‚Å‚à‚Å‚«‚»‚¤‚È‹C‚ª‚·‚éB
·‘å‚ɃXƒŒˆá‚¢‚¾‚¯‚ÇB
>>142‚³‚ñ
‚ ‚肪‚Æ
‚Ü‚¾Žv‚¤‚悤‚É‚Å‚«‚Ä‚¢‚È‚¢‚ñ‚¾
ŽQl‚É‚È‚é‚抴ŽÓ‚Å‚·
‚Ђł¦‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—‚—
‚·‚Ü‚ñŒë”š
146 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/06/25(…) 02:17:58
Ž¿–â‚Å‚·I

ˆÈ‰º‚̃tƒ@ƒCƒ‹hoge‚©‚çawk‚ÅA‰¿Ši‚𔲂«o‚µ‚ćŒv’l‚ðo‚µ‚½‚¢‚ÆŽv‚Á‚Ä‚¢‚Ü‚·B
ƒtƒ@ƒCƒ‹‚Ì“à—e‚ÍA‘Ж¼‚Ɖ¿Ši‚Å‚·B‰¿Ši‚͈ê”ÔŒã‚ë‚Ì”Žš‚É‚È‚è‚Ü‚·B

----------------------
$ cat hoge
‚»‚ê‚¢‚¯I‚ ‚ñ‚Ï‚ñ‚Ü‚ñ 1000
ƒƒ^ƒ{ƒŠƒbƒN‚ðŒ‚‘Þ‚¹‚æ 1000
‰º—¬ŽÐ‰ï 1000
ã—¬ŽÐ‰ï‚Ɖº—¬ŽÐ‰ï “ú–{‚Ì‚±‚ê‚©‚ç 1000
˜_•¶ 2008 “ú–{‚Ì•ø‚¦‚é–â‘è 1000
˜_•¶ 2007 “ú–{‚Ì•ø‚¦‚é–â‘è ‰ß‹Ž–â‘èW 1000
----------------------

“‚¢‚Ì‚ªA‘Ж¼‚Ì2008‚â2007‚È‚Ç‚Ì”’l‚ªŠÜ‚Ü‚ê‚Ä‚¢‚邱‚Æ‚â‹ó”’‚ªŠÜ‚Ü‚ê‚Ä‚¢‚邱‚Æ‚Å‚·B
1s–Ú‚Ìê‡2—ñ–Ú‚ª‰¿Ši‚É‚È‚è‚Ü‚·‚ªA2s–Ú‚Ìê‡4—ñ–Ú‚ª‰¿Ši‚Æ‚È‚è‚Ü‚·B

‚±‚̂悤‚Ɉê”ÔÅŒã‚Ì—ñi‰¿Šij‚ðŽæ“¾‚µA‡Œv’l‚ðŒvŽZ‚·‚é‚É‚Í‚Ç‚¤‚·‚ê‚΂悢‚Å‚µ‚傤‚©H

‚²‹³Ž¦‚¨Šè‚¢‚¢‚½‚µ‚Ü‚·B


awk '{x+=$NF}END{print x}' hoge
x‚¶‚á‚È‚­‚Äsum‚Æ‚©‚É‚µ‚悤‚æB
ˆês–ì˜Y‚ÍŽè”i‘Å”jdŽ‹‚È‚ñ‚¶‚á‚Ü‚¢‚©
“‚¢‚Á‚ă}ƒjƒ…ƒAƒ‹“Ç‚ß‚ÎÅŒã‚Ì—v‘f‚ðŽw‚·‚à‚Ì‚ª‰½‚©‘‚¢‚Ä‚ ‚é‚ÆŽv‚¤‚ª
“Ç‚ñ‚Å‚½‚瑼l‚É‚È‚ñ‚©•·‚«‚Ü‚¹‚ñB
‚¶‚á‚ Aƒ}ƒjƒ…ƒAƒ‹“Ç‚ñ‚Å‚à‚í‚©‚ç‚È‚©‚Á‚½‚炨Žèã‚°‚©
Windows ”Å‚Ì gawk-3.1.5 ‚Å`‘o•ûŒüƒpƒCƒv‚ª‚¤‚Ü‚­“®ì‚µ‚Ü‚¹‚ñBˆÈ‰ºA
http://www.kt.rim.or.jp/~kbk/gawk-3.1/gawk.html#SEC182
‚©‚ç‚̃Tƒ“ƒvƒ‹ƒtƒ@ƒCƒ‹‚Å‚·‚ªA“r’†‚ÅŽ~‚Ü‚Á‚Ä‚µ‚Ü‚Á‚ÄA•ÔŽ–‚ª•Ô‚Á‚Ä‚«‚Ü‚¹‚ñB

BEGIN {
command = "sort"
n = split("abcdefghijklmnopqrstuvwxyz", a, "")

for (i = n; i > 0; i--)
print a[i] |& command
close(command, "to")

while ((command |& getline line) > 0)
print "got", line
close(command)
}

Cygwin ‚Ì gawk ‚Å‚Í–â‘è‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½B
‚±‚êŽg‚¤‚Æ‚¢‚¢‚æ
ttp://www.pipeunish.jp/
‚Ç‚¤‚â‚Á‚½‚ç Cygwin ‚Ì gawk(GNU Awk 3.1.6) ‚Å print length("‚ ‚¢‚¤") ‚ª 3 ‚É‚È‚é‚Ì‚Å‚·‚©H
Windows‚̃o[ƒWƒ‡ƒ“‚­‚ç‚¢‘‚±‚¤‚ÈB‚Å‚È‚¢‚Æ’Þ‚è‚ÆŽv‚í‚ê‚é‚æ
jgawk?
gawk.dll‚Á‚ÄA‚Ü‚¾’N‚©ƒƒ“ƒe‚µ‚Ä‚­‚¾‚³‚Á‚Ä‚é‚ñ‚Å‚µ‚傤‚©H
ÅV”Ågawk‚Ìdll‚ð’T‚µ‚Ä‚é‚ñ‚Å‚·‚ªAŒ©‚‚©‚è‚Ü‚¹‚ñB

‚Ü‚½‚ÍAƒ\[ƒX‚Ìtar.gz‚©‚çdll‚ðì‚é•û–@‚ªÚ‚Á‚Ä‚¢‚éƒy[ƒW‚ð
Œä‘¶’m‚Ì•û‚ª‚¢‚ç‚Á‚µ‚á‚¢‚Ü‚µ‚½‚çA‹³‚¦‚Ä‚¢‚½‚¾‚¯‚é‚Æ•‚©‚è‚Ü‚·B
‚È‚É‚ð‚¢‚Á‚Ä‚é‚Ì‚©‚í‚©‚ç‚ñ
ƒ\[ƒX‚Ìtar.gz‚Á‚Ä‚È‚ÉH
http://ftp.gnu.org/gnu/gawk/ ‚©‚çƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚égawk-*.tar.gz‚Ì‚±‚Æ‚Å‚·‚ªBB
source‚©‚çgawk.exe‚ðì‚Á‚½‚肵‚È‚¢‚Ì‚Å‚·‚©HH

dll‚Æ‘‚¢‚Ä‚¢‚é‚Ì‚Å‚í‚©‚é‚©‚Æ‚ÍŽv‚¢‚Ü‚·‚ªA
windowsŠÂ‹«‰º‚ł̘b‚Å‚·B•’i‚Ícygwin‚Åmake‚µ‚½gawk‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚Å‚·‚ªA
dll‚ª‚ ‚é‚Æ‘¼‚ÌŒ¾Œê‚©‚çŒÄ‚Ño‚µ‚ÄŽg‚¦‚é‚Ì‚Å•Ö—˜‚©‚È[‚ÆŽv‚Á‚Ä‚Ü‚·B
cygwin‚Íwin—p‚̃\[ƒX‚¶‚á‚È‚¢‚©‚ç
win—p‚̃\[ƒX‚ª‚¢‚é
>>160
Ì‚ ‚Á‚½DLL”Å‚ÍìŽÒ‚ª“ÆŽ©‚Éì‚Á‚½‚à‚Ì‚Ý‚½‚¢‚Å
–{‰Æ‚É”½‰f‚³‚ê‚Ä‚È‚¢‚©‚ç–{‰Æ‚̃\[ƒX‚©‚çDLL‚ðì‚é‚Ì‚Í–³—B
DLL”ł̃\[ƒX‚ðŽQl‚É‚µ‚ÄŽ©—Í‚Åì‚é‚©
‚Å‚«‚È‚¢‚È‚çìŽÒ‚ɘA—‚µ‚Ä‹¦—Í‚ð‹‚߂邵‚©‚È‚¢B
>>160
Ž©•ª‚ʼnüC‚·‚邵‚©‚È‚¢‚¾‚ë
(ÉÍ`)@±²ÀÀÀ
165 F155F2008/07/05(“y) 15:47:31
>156
XP [Version 5.1.2600] ‚Å‚Â
>>153
‚Ü‚¾Œ©‚Ä‚é‚©?
‘½•ª‚È‚¨‚Á‚Ä‚é‚ÆŽv‚¤‚ñ‚ÅV‚µ‚¢‚Ì‚ÅŽŽ‚µ‚Ä‚Ý‚Ä‚­‚è‚âB
‚¤‚¨H
ìŽÒ~—Õ‚©
‚·‚ñ‚΂炷‚¡
AWK@Žg‚Á‚Ä‚P‚T”NH@‚R‚O”N‘O‚̃R[ƒh‚ª“f‚«o‚·ƒf[ƒ^‚ð‚¿‚å‚±‚Á‚ƈ—‚µ‚悤‚Æ‚µ‚Äc
FS=/[ ()]+/ ‚ÍŠú‘Ò’Ê‚è‚Ì“®‚«‚ð‚¹‚¸AFS="[ ()]+" ‚Æ‘‚©‚˂΂Ȃç‚È‚¢B
‰‚ß‚Ä’m‚Á‚½B
@ŒŸõ‚µ‚Ä‚àA‚±‚ê‚ɂ‚¢‚Ä–¾‰õ‚É‘‚¢‚Ä‚ ‚éƒy[ƒW‚ª‚È‚©‚È‚©Œ©‚‚©‚ç‚È‚©‚Á‚½‚ª
„³‹K•\Œ»’蔂ª‚»‚ꎩg‚Æ‚µ‚ÄŒ»‚ꂽ‚Æ‚«A‚»‚ê‚̓pƒ^[ƒ“’†‚ÉŒ»‚ꂽ‚©‚̂悤‚ÉA
„‚‚܂è`($0 ~ /foo/)' ‚̂悤‚É‚Ý‚È‚³‚ê‚éB
<’†—ª>
„Œ¾Œê‚Ì‚±‚Ì‹@”\‚ÍAPOSIX•W€‚܂ŃhƒLƒ…ƒƒ“ƒg‰»‚³‚ê‚È‚©‚Á‚½B
orz
@‚±‚ê‚Å‚PŽžŠÔ‚®‚ç‚¢ƒ€ƒ_‚É‚µ‚½BŽ„‚ª’m‚ç‚È‚©‚Á‚½‚¾‚¯‚Å‚·‚©HH
wƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾ŒêAWKx‚ɂ͈ꉞڂÁ‚Ă邯‚Ç‚È
> iFS‚É‘ã“ü‚³‚ê‚éj•¶Žš—ñ‚ª1•¶Žš‚æ‚è’·‚¢‚Æ‚«‚ÍC³‹K•\Œ»‚Æ‚µ‚Ĉµ‚í‚ê‚é
ƒxƒ‹Œ¤Œn“‚ÌŒ¾Œê‚Í‹Lq‚ÌŽ©—R“x‚Í‚ ‚邪‹““®‚ª‚‚©‚݂Â炢
>>170
@hh‚ň͂ñ‚¾•¶Žš—ñ‚ª³‹K•\Œ»‚Æ‚µ‚Ĉµ‚í‚ê‚é@‚Æ‚¢‚¤‚±‚Æ‚Æ
@//‚ň͂ñ‚¾³‹K•\Œ»’蔂ő‚¢‚Ä‚Í‚¢‚¯‚È‚¢@‚Æ‚¢‚¤‚±‚Æ‚Í“¯‚¶‚Å‚Í‚È‚¢B
ŽÀÛAsplitŠÖ”‚Ì@‘æ‚Rˆø”‚É—^‚¦‚鳋K•\Œ»‚Í@‚Ç‚¿‚ç‚Å‚à“®‚­
@‚Þ‚Þ‚ÞA‚±‚±‚Å‚Í($0~/foo/)‚É’u‚«Š·‚¦‚Ä•]‰¿‚³‚ê‚È‚¢‚ñ‚¾c
171‚̈ӌ©‚ª³‚µ‚¢‚悤‚¾‚Ë@ƒ`ƒƒƒ“ƒ`ƒƒƒ“

173 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/07/21(ŒŽ) 12:39:44
•¡”‚̃tƒ@ƒCƒ‹‚Ì“Ç‚Ýž‚Ý‚Á‚Ä‚Å‚«‚Ü‚·‚©H
print ƒtƒ@ƒCƒ‹1‚Ì$2 ƒtƒ@ƒCƒ‹2‚Ì$1
‚Ý‚½‚¢‚ÈŠ´‚¶‚Å
>>173
paste‚ÅŒq‚¢‚¶‚áƒ_ƒ?
Ž„‚Í‚æ‚­‚â‚邯‚ÇB
‰¼‚Ƀtƒ@ƒCƒ‹1‚ª5ƒJƒ‰ƒ€ŒÅ’è‚È‚çA
paste ƒtƒ@ƒCƒ‹1 ƒtƒ@ƒCƒ‹2| awk '{print $2 $6;}'
‚Ä‚ÈŠ´‚¶‚ÅB
# ƒJƒ‰ƒ€”‰Â•Ï‚È‚ç‚à‚¤ˆê”P‚è•K—v‚¾‚¯‚Ç‚ËB
>>173
awk‚¾‚¯‚Å‚â‚肽‚¢‚È‚çgetline‚ðŽg‚¦‚΂ł«‚éB
awk‚·‚²‚¢•Ö—˜‚ÅAgnuplot‚Æ‘g‚݇‚킹‚ÄExcel‚©‚ç‰ð•ú‚³‚ê‚‚‚ ‚è‚Ü‚·B
ã‚Ì•û‚É‚ ‚Á‚½DFA‚ÆNFAŽg‚Á‚Ă鎖‚©‚ç‚­‚éˆá‚¢‚Á‚Ä‚È‚ñ‚Å‚·‚©H
>>176

ˆê”Ԃ̈Ⴂ‚ÍADFA‚¾‚ÆŒã•ûŽQÆ‚ª‚Å‚«‚È‚¢‚±‚Æ‚©‚ÈB
‚Æ‚è‚ ‚¦‚¸

DFA
‘O€”õ‚ÉŽèŠÔ‚ðŠ|‚¯‚邯‚Lj—‚»‚Ì‚à‚Ì‚Í‘‚¢

NFA
‘¦À‚Ɉ—‚ðŽn‚߂邯‚ÇAˆ—‚ÉŽžŠÔ‚ª‚©‚©‚éꇂª‚ ‚éB

‚®‚ç‚¢‚Él‚¦‚Ä‚¨‚¯‚΂¢‚¢‚ÆŽv‚¤B
•ÛŽç
sh + awk ‚Í–¾‚ç‚©‚ÉŠÈ’P‚¾‚ÆŽv‚¤B
sh + awk ‚Åo—ˆ‚邱‚Æ‚ð perl ‚Ì‚Ý‚Å‹Lq‚·‚él‚Ì‹CŽ‚¿‚ª‚Ç‚¤‚µ‚Ä‚à—‰ðo—ˆ‚È‚¢B
‚½‚¾Aƒlƒbƒgƒ[ƒNƒvƒƒOƒ‰ƒ~ƒ“ƒOˆÈã‚É‚È‚é‚ÆC, perl, ruby ‚É‚È‚ç‚´‚é‚𓾂Ȃ¢‚¯‚ÇB

ƒ}ƒVƒ“’P‘Ì‚Å‚ÌŽíX‚̎葱‚«‹Lq‚¾‚ÆA
sh + awk ‚ª‚â‚Á‚Ï‚èˆê”ÔŠ®Œ‹‚É‚È‚é‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç‚È`B
‚¨‚ê‚àawk‚Å‚Å‚«‚邱‚Æ‚È‚çawk‚Å‚â‚éB
‚Å‚à‚ ‚Ü‚è‚ɃgƒŠƒbƒL[‚È‚±‚Æ‚É‚È‚è‚»‚¤‚¾‚Á‚½‚çperl‚Å‚â‚Á‚½‚è‚·‚é‚©‚ÈB
181 F‚ ‚¢‚¿‚á‚ñF2008/08/03(“ú) 01:39:18
l‚É“n‚·‰Â”\«‚ª‚ ‚é‚È‚çAawk‚ÍŒ‹\‚‚炢‚±‚Æ‚ª‚ ‚éB
Perl‚Å‚â‚ê‚Ίî–{“I‚É–â‘è‚È‚¢‚©‚çAPerl‚Å‘‚­•È‚ª‚‚­B
ShellScript‚Å‚¢‚Á‚½‚ñŽg‚¤‚¾‚¯‚È‚çAawk‚Í•Ö—˜‚¾‚¯‚ÇB
>>180
‰´‚à@AWK ‚Å‚Å‚«‚é‚È‚çAWKB
‚Æl‚¦‚é‚Æ@ƒoƒCƒiƒŠ[‚̃f[ƒ^‚¢‚¶‚éˆÈŠO‚ÍAWK‚Å‚Å‚«‚é‚Ì‚Å‚Íc
i­‚È‚­‚Æ‚à@‰´‚É“úí‚̃j[ƒd‚Å‚Í@‚»‚¤‚¾j
>>182
“¯Š´B‚½‚¾ƒoƒCƒiƒŠ‚ÍŽd•û‚È‚¢‚É‚µ‚Ä‚àA
‘S”¼Šp¬Ý‚̌Œ蒷ƒtƒH[ƒ}ƒbƒg‚ªˆµ‚¢‚É‚­‚¢‚ñ‚¾‚æ‚ÈB
ASCII‚É‚·‚é‚Æ‘SŠp‚Ì‚Ý•”•ª‚ªˆ—‚µ‚É‚­‚¢‚µA
SJIS‚Æ‚©‚É‚·‚é‚Ƴ‚µ‚­Ø‚èo‚¹‚È‚¢‚µ¥¥¥
‚ ‚ê‚Í‚È‚ñ‚Æ‚©‚È‚ç‚ñ‚à‚Ì‚©‚ÈB
‚â‚Á‚Ï‚è ASCII ‚¾‚¯‚Ì–â‘è‚É‚µ‚Ä‚¨‚¢‚½•û‚ª–³“ïB
ttp://www.kt.rim.or.jp/~kbk/gawk-3.1/
‚Ń_ƒEƒ\‚Å‚«‚é‚Ì‚ªASCII‚ÆSJIS‚ð‚¤‚Ü‚­ˆµ‚¦‚é‚â‚‚À‚á‚Ë‚ÌH
>>185
‚¢‚âA‚»‚ÌgawkŽg‚Á‚Ă邯‚ÇA‘S”¼Šp¬Ý‚̌Œ蒷‚Í¢‚é‚Í‚¸B
—¼•û•ÊX‚È‚ç–â‘è‚È‚­ˆµ‚¦‚邯‚ÇA“¯Žž‚ɂ͈µ‚¦‚È‚¢B
—Ⴆ‚ÎBSJIS‚Ps5ƒoƒCƒg+‰üs‚̌Œ蒷ƒtƒ@ƒCƒ‹‚Å
‚Ps‚Í‚Q€–Úia:‘S”¼Šp¬Ý4ƒoƒCƒg b:”¼Šp‚Ì‚Ý1ƒoƒCƒgj‚̃tƒ@ƒCƒ‹‚ª‚ ‚é‚Æ‚«B
asciiƒ‚[ƒh‚È‚ça, b‚ð؂蕪‚¯‚ç‚ê‚邪a‚Ì‘SŠp•¶Žš‚͈—‚Å‚«‚È‚¢B
sjisƒ‚[ƒh‚È‚ça, b‚ð؂蕪‚¯‚ç‚ê‚È‚¢B

”Y‚Ü‚µ‚¢‚Ì‚ÍA€–Ú‚ð؂蕪‚¯‚éƒXƒNƒŠƒvƒg‚ðascii ƒIƒvƒVƒ‡ƒ“‚Å‹N“®‚µ‚Ä
o—ÍŒ‹‰Ê‚ðsjis‚ň—‚·‚ê‚Îi‚ß‚ñ‚Ç‚­‚³‚¢‚¯‚ÇjŒ»ó‚ň—‚Å‚«‚Ä‚µ‚Ü‚¤B
‚Ì‚ÅAƒ}ƒjƒ…ƒAƒ‹‚É‘‚¢‚Ä‚ ‚é’Ê‚èAìŽÒ‚ð‚¨‚Ë‚ª‚¢‚·‚ê‚Ή”\«‚Í‚ ‚é‚©‚à‚µ‚ê‚È‚¢‚ªA
‚¨Šè‚¢‚·‚é‚Ì‚ªçSçO‚í‚ê‚銴‚¶‚È‚Ì‚ËB
awk‚ÍŽž‘ã‚ÌŠÖ”‚¾‚©‚çŽg‚í‚ê‚È‚­‚È‚Á‚Ä‚¢‚­‚ñ‚¾‚ë‚È‚ 
UTF-8‚ÌꇂłàŒÅ’è’·‚Í”¼Šp•‚µ‚©‘Ήž‚Å‚«‚Ä‚È‚¢B
•¶Žš”‚ƃoƒCƒg”‚Æ•\Ž¦•‚Æ‚©A“ú–{Œê‚Í–Ê“|‚¾‚Ì‚¤B

length()‚Æ‚©‚ŃoƒCƒg”‚ðE‚¦‚È‚¢‚©‚玩‘O‚ň—‚à‚â‚è‚É‚­‚¢B
>>188
ˆêu”[“¾‚µ‚©‚¯‚½‚¯‚ÇB
—âÂÉl‚¦‚é‚ÆA‚»‚à‚»‚à‚P•¶Žš‚ª‰Â•Ï’·‚Å‚ ‚éUTF8‚ð
ŒÅ’è’·ƒtƒ@ƒCƒ‹‚Ì•¶ŽšƒR[ƒh‚ÉŽg‚¨‚¤‚Æl‚¦‚½“z‚ð’÷‚ßã‚°‚Ä
‹ƒ‚­‚Ù‚Ç–â‚¢‹l‚ß‚é•û‚ªæ‚¾‚ÆŽv‚¤‚͉̂´‚¾‚¯H

l‚¦‚Ä‚àl‚¦‚Ä‚àƒƒŠƒbƒg‚ªŽv‚¢‚‚©‚È‚¢‚æc
>>189
‚Ù‚Æ‚ñ‚Ç‚Ì•¶ŽšƒR[ƒh‚ª‰Â•Ï’·‚¾‚©‚ç‚È‚ B
‘Š‘ΓI‚ÉŒ©‚ê‚΃}ƒV‚È•û‚É“ü‚é‚ñ‚¶‚á‚È‚¢?
ƒzƒXƒg‚ª—‚Þ‚Æ•¶ŽšƒR[ƒhŽü‚è‚͔ߎS‚¾‚æc
ƒzƒXƒg‚¶‚á‚È‚¢‚È‚ç‚»‚à‚»‚àŒÅ’è’·‚¶‚á‚È‚­‚Ä—Ç‚¢‚ñ‚¾‚¯‚Ç‚ËB
‚ ‚éƒtƒBƒ‹ƒ^ƒXƒNƒŠƒvƒg‚ðgawk‚Å‘‚¢‚Ä‚¢‚é‚Ì‚Å‚·‚ª
•¶Žš‚̃R[ƒh‚ð®”’l‚É•ÏŠ·‚µ‚悤‚Æ‚µ‚Ä‚¤‚Ü‚­‚¢‚«‚Ü‚¹‚ñ
‚½‚Æ‚¦‚Îucv‚Æ‚¢‚¤•¶Žš‚̃R[ƒh‚ð®”’l‚É‚µ‚悤‚Æ‚µ‚Ä
BEGIN {
@testChar = "c";
@printf("testChar=%d\n",testChar);
}
‚̂悤‚É‚µ‚Ä‚àutestChar=0v‚Æ•\Ž¦‚³‚ê‚Ä‚µ‚Ü‚¢‚Ü‚·
—Ç‚¢•û–@‚ª‚ ‚ê‚΂¨‹³‚¦‚­‚¾‚³‚¢
>>191

awklib ‚É ord ‚Á‚ă†[ƒU[’è‹`‚̃‰ƒCƒuƒ‰ƒŠŠÖ”‚ª‚ ‚é‚©‚ç‚»‚ê‚ðŽg‚¤B
Ž©‘O‚Åì‚Á‚Ä‚à‚¢‚¢‚¯‚Ç‚ËB

‚­‚킵‚­‚Í info gawk ‚Å’²‚ׂÄB
193 F191F2008/08/23(“y) 03:28:08
>>192
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
‘‘¬ŒŸ“¢‚µ‚Ä‚Ý‚Ü‚·
194 F191F2008/08/23(“y) 10:56:41
>>192
ttp://www.kt.rim.or.jp/~kbk/gawk-30/gawk_16.html
‚É‚ ‚Á‚½‚à‚Ì‚ðŽŽ‚µ‚Ä‚Ý‚Ü‚µ‚½.Šú‘Ò‚Ç‚¨‚è‚Ì“®ì‚ð‚µ‚Ä‚­‚ê‚Ü‚·.
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½.
“ü—Í“à—e‚ðawk‚Ŷ¬‚·‚邱‚Æ‚Ío—ˆ‚Ü‚·‚Å‚µ‚傤‚©
‚à‚µ‚­‚ÍBEGIN“™‚̃uƒƒbƒN“à‚Å•¶Žš—ñ‚𶬂µ‚Ä
‚»‚Ì•¶Žš—ñ‚̃pƒ^[ƒ“–ˆ‚É•ªŠòAƒtƒB[ƒ‹ƒh‚ðŽg‚Á‚Ă̈—
i—v‚Íawk‚É“ü—̓tƒ@ƒCƒ‹“n‚µ‚½Žž‚ÉŠÈ’P‚É‘‚¯‚鈗j
‚ðŠÈ’P‚É‘‚­‚±‚Æ‚Ío—ˆ‚é‚Ì‚Å‚µ‚傤‚©

—Ⴆ‚Îc‚Ç‚ñ‚Ȉ—‚ª“KØ‚Èà–¾‚©”»‚è‚Ü‚¹‚ñ‚ª
BEGIN{for(i=0;i<10;i++) print int(rand()*10),int(rand()*10),int(rand()*10)}
‚ÌŒ‹‰Ê‚ɑ΂µ‚Ä
$1+$2+$3<10{ print $1+$2+$3 }
$1+$2+$3>=10{ print ($1+$2+$3) % 10 }
c‚Æ‚©‚»‚ñ‚ÈŠ´‚¶‚ÅAƒeƒLƒXƒg‚𶬂µ‚½Œ‹‰Ê‚ɑ΂µ‚Ä
ƒtƒBƒ‹ƒ^[‚Æ‚µ‚Ä”äŠrŽ®‚ⳋK•\Œ»‚Å•ªŠò‚µ‚ÄAƒtƒB[ƒ‹ƒh‚ðŽg‚Á‚Ĉ—‚·‚銴‚¶‚Å‚·B

‚â‚Á‚Ï‚èƒoƒbƒ`ƒtƒ@ƒCƒ‹‚Æawkƒtƒ@ƒCƒ‹‚ð‚¢‚­‚‚àì‚Á‚½‚è
ˆêsˆês‚ɑ΂µ‚Äif•¶‚Å•ªŠò‚µ‚½‚èsplit‚Å•ªŠ„‚·‚邵‚©–³‚¢‚Å‚·‚©‚ËcB
>>195
Š¸‚¦‚Ä“ü—͂𶬂µ‚½‚¢‚Ì‚È‚çAawk‚ðƒpƒCƒv‚ÅŒq‚°‚΂¢‚¢‚ÆŽv‚¤B
‚»‚¤‚Å‚Í‚È‚­A’P‚É—”‚ň—‚ðU‚蕪‚¯‚½‚¢‚Ì‚È‚ç•’Ê‚Éif•¶‚Å‚¢‚¢‚ÆŽv‚¤B

‚»‚ê‚Í‚³‚Ä‚¨‚«A
--
$1+$2+$3<10{ print $1+$2+$3 }
$1+$2+$3>=10{ print ($1+$2+$3) % 10 }
--
‚Í•Ê‚Éã‚ÌðŒŽ®‚Í—v‚ç‚ñ‚¾‚ëBˆêŒ…‚Ì”’l‚ð10‚ÅŠ„‚Á‚½—]‚è‚ÍŒ³‚Ì‚Ü‚Ü‚¾‚©‚ç‚ÈB
>196
‚¢‚â‚ ‚­‚Ü‚Å—á‘è‚È‚Ì‚Å“à—e‚Í[‚­l‚¦‚È‚¢‚Å‚­‚¾‚³‚¢corz

•’Ê‚Éif•¶‚Æ‚ÍŒ¾‚¤‚à‚Ì‚ÌAÜŠpawk‚ª•W€‚Å”õ‚¦‚Ä‚é•Ö—˜‚È‹@”\‚𖳎‹‚µ‚Äç’·‚È‘‚«•û‚·‚é‚Ì‚à“‚µ
‚©‚ÆŒ¾‚Á‚Ä.awkƒtƒ@ƒCƒ‹•¡”ŒÂ‚ƃoƒbƒ`‚ÅAƒpƒCƒv‚ł‚Ȃ°‚Ĉ—‚·‚é‚Ì‚àc‚¤`‚ñA‚Æ‚È‚Á‚Ä‚µ‚Ü‚¤B
—Ç‚¢‘‚«•û–³‚¢‚©‚È‚Ÿ‚ÆŽv‚Á‚½‚Ì‚Å•·‚¢‚Ä‚Ý‚½‚Ì‚Å‚·‚ªAif‚Æsplit‚ÅŠæ’£‚è‚Ü‚·B
Ž¿–₪‚æ‚­‚í‚©‚ç‚ñ‚Ì‚¾‚ªABEGIN•”‚Ŷ¬‚µ‚½ƒtƒ@ƒCƒ‹‚ðˆ—•”‚ňµ‚¢‚½‚¢‚Æ‚¢‚¤‚±‚Æ‚©‚ÈH
—Ⴆ‚ÎA
gawk 'BEGIN{ ARGV[1]="in_file.txt"; ARGC=2; }{ print }'
‚Á‚Ä‚â‚Á‚½‚ç in_file.txt ‚ð•\Ž¦‚Å‚«‚邼‚¢
>198
III
–Ú‚©‚ç—Ø‚Å‚·B

‚»‚Á‚©Aƒtƒ@ƒCƒ‹¶¬‚µ‚¿‚Ⴆ‚Έꔭ‚Ås‚¯‚é‚Ì‚©c‚â‚Á‚Ä‚Ý‚Ü‚·
‚¤‚°Aˆê’Uƒtƒ@ƒCƒ‹‚ðì‚é‚Ì‚Í‚ ‚è‚È‚Ì‚©‚æB
if‚ðŽg‚¤‚Ì‚Íç’·‚È‚Ì‚ÉAƒtƒ@ƒCƒ‹‚ðì‚é‚Ì‚Íç’·‚¶‚á‚È‚¢‚Á‚Ä‚Ç‚ñ‚ȃZƒ“ƒX‚È‚ñ‚¾B
>200
“ü—̓f[ƒ^‚Í‹K‘¥«‚Ì‚ ‚é‚à‚Ì‚ÅA¶¬‚µ‚Ä‚µ‚Ü‚¦‚邯‚Ç
‚»‚ê‚ɑ΂µ‚Ä‚Ì•ªŠò‚Í‘½‚¢c‚Æ‚¢‚¤ê‡
if‚âsplit‚ð—…—ñ‚·‚é‚æ‚è‚àAawk‚ªŒ³XŽ‚Á‚Ä‚é
ƒpƒ^[ƒ“‚ƃtƒB[ƒ‹ƒh•ªŠ„‚ðŽg‚Á‚½•û‚ª
ƒXƒbƒLƒŠ‚·‚é‚ÆŽv‚¤‚Ì‚Å‚·‚ªŠÔˆá‚Á‚Ä‚é‚Å‚µ‚傤‚©cB
>>201
•Ê‚É‚¢‚¢‚ñ‚¶‚á‚Ë?
‹‘å‚È’†ŠÔƒtƒ@ƒCƒ‹‚ðì‚é‚Á‚Ă킯‚Å‚à‚È‚¢‚ñ‚¾‚낤‚µB
‚Ü‚ŸAŽŸ‚Ì——R‚ÅŽ„‚Í’†ŠÔƒtƒ@ƒCƒ‹‚ðì‚é‚Ì‚Í”ð‚¯‚é‚¯‚Ç‚ËB
Eƒtƒ‹ƒpƒX‚ðŽw’肵‚È‚¢ê‡AƒJƒŒƒ“ƒgƒfƒBƒŒƒNƒgƒŠ‚É‘‚«ž‚ÝŒ ŒÀ‚ª‚ ‚é•ÛႪ‚È‚¢B
E‚»‚à‚»‚à“¯–¼ƒtƒ@ƒCƒ‹‚ª‘¶Ý‚µ‚Ä‚¢‚Ä‘‚«ž‚ÝŒ ŒÀ‚ª‚È‚¢‚©‚à’m‚ê‚È‚¢B
E‚Â[‚©A“¯Žž‚É2Œ“®‚©‚µ‚½‚çƒoƒbƒeƒBƒ“ƒO‚µ‚Ä‚µ‚Ü‚¤B
E‚¾‚©‚ç‚ÆŒ¾‚Á‚ÄAˆêXƒ†ƒj[ƒN‚È–¼‘O‚̃tƒ@ƒCƒ‹–¼‚𶬂·‚é‚Ì‚à–Ê“|‚¾B
E‚µ‚©‚àA’†ŠÔƒtƒ@ƒCƒ‹‚ÍŒã‚ÅÁ‚µ‚Ä‚¨‚­•K—v‚ª‚ ‚é‚©‚à‚µ‚ê‚È‚¢B

‚»‚ê‚ÆAŽ©‘O‚Å“ü—͂𶬂·‚é‚È‚çAʼn‚©‚番Š„‚³‚ꂽó‘Ô‚Åì‚ê‚΂¢‚¢‚©‚çsplit‚Í—v‚ç‚È‚¢‚ËB
ƒpƒ^[ƒ“‚ðŽg‚¤‚©if‚ðŽg‚¤‚©‚ÍŽï–¡‚Ì–â‘è‚̂悤‚È‹C‚ª‚·‚邯‚ÇB
# $1+$2+$3<10{print;}‚Æ‘‚­‚©if($1+$2+$3<10){print;}‚Æ‘‚­‚©‚̈Ⴂ‚¾‚à‚ñ‚ËB
FXl‚¦•û‚ª‚ ‚é‚Ì‚ËB

Ž©•ª‚È‚çƒgƒŠƒbƒL[‚È×H‚µ‚Ä‚P‚‚Ɏû‚ß‚¸•ªŠ„‚µ‚ÄifŽg‚킸‚É‘‚­‚¯‚ÇB
Žè‘‚­ƒJƒ^‚ð‚‚¯‚ç‚ê‚é‚Ì‚ªawk‚Ì—Ç‚¢Š‚¾‚ÆŽv‚¤‚µA
‹ZI‚É‘–‚é‚ƊԈႢ‚È‚­–Y‚ê‚é‚̂Ńƒ“ƒe•s‰Â”\‚É‚È‚é‰Â”\«‘å

‚ÜA‚»‚ê‚Í‚»‚ê‚Æ‚µ‚Ä>>198‚̓pƒYƒ‹“I‚È–Ê”’‚³‚ª‚ ‚Á‚Ä—Ç‚¢‚ËB
>202
‚¤`‚ñAŒ¾‚í‚ê‚Ä‚Ý‚ê‚΂»‚¤‚©‚àB
ˆê‰žA¡‰ñ‚Ì‚ÍŽdŽ–‚ÅŽg‚¤‚킯‚Å‚à‚È‚¯‚ê‚Α¼l‚ÉŽg‚Á‚Ä‚à‚炤—\’è‚à‚È‚¢
Š®‘S‚ÈŒÂl—pƒXƒNƒŠƒvƒg‚È‚Ì‚Å‚Ç‚¤‚É‚Å‚à‚È‚è‚Ü‚·‚ª
‚±‚ꂪ‹Æ–±‚⎩•ªˆÈŠO‚àŽg‚¤‚à‚Ì‚Å‚ ‚ê‚Αf’¼‚Éif‚È‚ñ‚Å‚µ‚傤‚ËB
2008/09/15 13:17 61 20080915142145.txt
2008/09/16 13:17 316 2008091611529.txt
2008/09/22 20:09 24,028 2008_0922asahiindex.txt
2008/09/22 12:57 1,545 clean.txt

‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹ˆê——‚©‚çAgawk‚Å¡“ú‚Ì“ú•t‚̃tƒ@ƒCƒ‹‚¾‚¯”²‚«o‚·‚É‚Í‚Ç‚¤‚·‚è‚á‚¢‚¢‚ñ‚¾‚Á‚¯?

BEGIN{month = strftime("%m",systime()); date = strftime("%d",systime())}

/month/ && /date/ {print $0}

‚Å‚¢‚¢‚©‚ÆŽv‚Á‚½‚çA/ /‚Ì‚È‚©‚Émonth‚Æ‚©‚ÍŽg‚¦‚È‚¢‚炵‚¢B

/strftime("%d",systime())/ {print $0}
‚Ƃׂ½‘‚«‚µ‚Ä‚à‚¾‚ßB
‚Ç–Y‚ê’†Bƒwƒ‹ƒvƒ~[B
BEGIN{date=strftime("%m/%d")} $0 ~ date {print $0}
>>206
thanks!
Ž¿–â‚Å‚·B
“ü—Í’†‚̃tƒ@ƒCƒ‹–¼‚ÍFILENAME‚ɃZƒbƒg‚³‚ê‚Ü‚·‚ªA
“ü—Í’†‚̃tƒ@ƒCƒ‹‚̃pƒX‚ðŽæ“¾‚·‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚Å‚·‚©B
>>208
FILENAME‚Å“¾‚ç‚ê‚éî•ñ‚ª‘S‚ÄBƒtƒ‹ƒpƒX‚ª—~‚µ‚¢‚Æ‚¢‚¤‚±‚Æ‚È‚çA
cwd‚ðŽæ“¾‚µ‚Ä‚»‚±‚©‚ç‚Ì‘Š‘΃pƒX‚ªFILENAMEB
210 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2008/11/12(…) 19:19:08

awk‚ÌŒ‹‰Ê‚ð set ‚©@setenv ‚Ì•Ï”‚É‘ã“ü‚µ‚½‚¢‚Å‚·B

awk '{ print $1+ $3 }' test.txt
‚Å”’l‚ªo‚Ü‚·B
‚±‚ÌŒ‹‰Ê‚ð•Ï”‚É‘ã“ü‚·‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç‚¢‚¢‚ñ‚Å‚µ‚傤‚©H

set tmp=`awk '{ $1+ $3 }' test.txt`

‚±‚ꂾ‚ÆãŽè‚­‚¢‚«‚Ü‚¹‚ñBprint ‚Í‚»‚Ì‚Ü‚Ü‚Å‚¢‚¢‚Ì‚Å‚µ‚傤‚©H
‚È‚ñ‚Å print ‚ðÈ—ª‚Å‚«‚é‚Æl‚¦‚½‚Ì‚©‚ª“䂾‚ª
>print ‚Í‚»‚Ì‚Ü‚Ü‚Å‚¢‚¢‚Ì‚Å‚µ‚傤‚©H
‚Ü‚¸ŽŽ‚¹‚æ‚—
V‹IŒ³ŽÐ‚̃vƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œêawk‚ª‚Ç‚±‚à”„‚èØ‚ê‚È‚ñ‚¾‚¯‚Ç
‚à‚¤“ü‚ç‚È‚¢‚Ì‚©‚È
>>211
print‚͉æ–Ê•\Ž¦‚·‚é‚à‚̨•Ï”‚É“ü‚ê‚邾‚¯‚È‚ç•s—v
c‚ÆŽv‚Á‚½‚ñ‚¶‚á“à‰È‚Ë
ƒJƒ“ƒ}‹æØ‚è‚̃f[ƒ^ƒtƒ@ƒCƒ‹‚ª‚ ‚èA‚»‚Ì’†‚ÅA‘æ‚PƒtƒB[ƒ‹ƒh‚Æ‘æ‚RƒtƒB[ƒ‹ƒh“à‚É‚à‚µ
Žq‰¹AŽq‰¹AŽq‰¹A•ê‰¹‚ª‘¶Ý‚·‚ê‚΂»‚Ìs‚¾‚¯”²‚«o‚·ƒI[ƒN‚̃XƒNƒŠƒvƒgƒtƒ@ƒCƒ‹‚ð‚‚­‚肽‚¢‚Ì‚Å‚·‚ª‚Ç‚¤‚·‚ê‚΂悢‚Å‚·‚©
>>215
ƒf[ƒ^ƒtƒ@ƒCƒ‹‚̃Tƒ“ƒvƒ‹‚Æ”²‚«o‚µ‚½‚¢sƒˆƒ
‚±‚ñ‚ÈŠ´‚¶‚Å‚·
takeshi,fiad,fdjioaf,fdjsoafdsi©ŠY“–‚È‚µj
dddacea,fsaofsa,rrra,fjisaofdjsaiddda‚Ærrra‚ªŠY“–j
aexxxu,dsoifsa,yyyuo,fjsaofaixxxu‚Æyyyu‚ªŠY“–j
218 F‚Ñ‚¬‚È‚ŸF2008/11/18(‰Î) 12:12:55
ƒI[ƒNƒXƒNƒŠƒvƒg‚ðŽÀs‚·‚é‚Æî•ñ‚ð•\Ž¦‚·‚é‚悤‚É‚µ‚½‚Ì‚Å‚·‚ª‚Ps–Ú‚ÆÅŒã‚Ìs‚¾‚¯‚ð•\Ž¦‚µ‚È‚¢‚悤‚É‚·‚é‚É‚Í
END“à‚ɉ½‚Ä‘‚¯‚΋X‚µ‚¢‚Å‚µ‚傤‚©
>>215
BEGIN{FS=","}
function term_check(term, lower_term) # lower_term ‚Í‹ÇŠ•Ï”
{
lower_term=tolower(term)
if(lower_term ~ /[bcdfghjklmnpqrstvwxyz][bcdfghjklmnpqrstvwxyz][bcdfghjklmnpqrstvwxyz][aiueo]/) return 1
return 0
}
{
if(term_check($1) && term_check($3)) print
}

ƒpƒ^[ƒ“ŒJ‚è•Ô‚µ‚Á‚Ä {3} ‚Æ‚©‚Å‚¢‚¯‚é‚Í‚¸‚È‚ñ‚¾‚ª
‘‚«•û’m‚ç‚È‚¢‚̂ŃRƒsƒy‚µ‚½‚—
>>218
’€ŽŸo—Í‚µ‚Ä‚éH
END ‚Å‚Ü‚Æ‚ß‚Äo—Í‚µ‚Ä‚éH
>>218
1s‚¸‚ƒoƒbƒtƒ@ƒŠƒ“ƒO‚µ‚ÄAŽŸ‚Ìs‚Ì“ü—Í‚Å‘O‚Ìs‚ðo—Í‚·‚ê‚ÎÅŒã‚Ìs‚ÍÁ‚¦‚Ä‚È‚­‚È‚éB
awk 'NR > 2 {print buffer;} NR > 1 {buffer = $0;}'
>>215
gawk‚È‚ç
awk -F "," -v r="[bcdfghj-np-tv-z]{3}[aiueo]" --posix '$1 ~ r && $3 ~ r'
$1‚Æ$3‚Ç‚¿‚ç‚©ˆê•û‚É‚ ‚ê‚΂¢‚¢‚È‚ç&&‚ð||‚É•Ï‚¦‚Ä‚Ë
>>219
•‚©‚è‚Ü‚µ‚½I
224 F‚Ñ‚¬‚È‚ŸF2008/11/18(‰Î) 16:46:03
o—ˆ‚Ü‚µ‚½@‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
ž‚Ý“ü‚Á‚Ä‚Ä®—‚Å‚«‚È‚¢‚Ì‚Å‹³‚¦‚Ä‚­‚¾‚³‚¢B
E‘Îۂ̃eƒLƒXƒg‚Í2s–Ú‚ª‚È‚¢(1s–Ú‚µ‚©‚È‚¢)‚©‚Â
E1s–ڂ͂Ђ炪‚ȃJƒ^ƒJƒiŠ¿Žš‚Å15•¶ŽšˆÈ“à
‚Æ‚¢‚¤ðŒ‚ð‘‚­‚Ì‚Á‚ÄAŽŸ‚̂悤‚É‚µ‚½‚Ì‚Å‚·‚ªA‚¤‚Ü‚­ƒqƒbƒg‚µ‚Ü‚¹‚ñB
‚Ç‚¤‘‚¯‚΂¢‚¢‚Å‚µ‚傤?

NR==2 && length($0) == 0 && NR==1 && /[‚Ÿ-‚ñƒ@-ƒ–ˆŸ-˜r]{1,15}/
>>225
NR == 2 && NR == 1‚¶‚áAâ‘ά—§‚µ‚È‚¢‚¾‚ëB
awk‚Ís‚ð1s‚¸‚ˆ—‚·‚é‚©‚çAŽ–‘O‚Ƀg[ƒ^ƒ‹s”‚ð’m‚邱‚Æ‚Í‚Å‚«‚È‚¢B
ƒg[ƒ^ƒ‹s”‚ª1s‚Å‚ ‚邱‚Æ‚ð•ÛØ‚µ‚½‚¢‚È‚çAENDƒuƒƒbƒN‚ň—‚·‚邵‚©‚È‚¢B
>Ž–‘O‚Ƀg[ƒ^ƒ‹s”‚ð’m‚邱‚Æ‚Í‚Å‚«‚È‚¢
BEGIN•”‚Å”‚¦‚ê‚ÎH
>>228
‚Ç‚¤‚â‚Á‚Ä? ‘ÎÛ‚ªƒtƒ@ƒCƒ‹‚Å‚ ‚é•ÛØ‚ª‚ ‚é‚È‚çwc‚Å‚àŒÄ‚ׂ΂¢‚¢‚¯‚Ç‚»‚ê‚È‚çawk‚Å‚â‚é•K—v‚³‚¦‚È‚¢‚æ‚ËB
{ a = $0 }
END { if (NR == 1 && a ~ /re/) print a }
‚Æ‚©?
‚Ç‚È‚½‚©A”CˆÓƒrƒbƒg•‚Ì2‚Ì•â”HEX‚ðDEC‚É•ÏŠ·‚·‚éƒvƒƒOƒ‰ƒ€‚ð‘‚¢‚Ä‚à‚炦‚Ü‚¹‚Ê‚©H
Žd—l‚ª•s–¾Šm‚È‚Æ‚±‚낪‚ ‚邵A‚È‚É‚æ‚è‚È‚ñ‚Åawk‚Å?
>>232
‚±‚±‚ªawkƒXƒŒ‚¾‚©‚ç‚Å‚µ‚åB
>>232
l‚¦‚é‚ÈBŠ´‚¶‚ë‚—
u‚ ‚È‚½‚͉½ŒÌawk‚Å‚â‚낤‚Æ‚·‚é‚Ì‚Å‚·‚©Hv
u‚»‚±‚Éawk‚ª‚ ‚é‚©‚çv
awk‚©‚çsystem()‚Ågrep‚Æ‚©sed‚Æ‚©ŒÄ‚ñ‚¾‚è‚·‚é•È‚ª•t‚¢‚Ä‚¢‚é
ƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚É‚·‚é•û‚ª‚Þ‚µ‚ëˆá˜aŠ´
‚¨‚¢‚¨‚¢Agrep‚âsed‚®‚ç‚¢ŒÄ‚Ño‚³‚¸‚Éawk‚Å‚â‚낤‚ºB
grep‚âsed‚̓pƒCƒv‚ł‚Ȃ°‚ÄŽg‚¤‚à‚Ì‚¶‚á‚È‚¢‚ÌH(^^;
239 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/01/10(“y) 22:10:41
gawk 3.1.4 mb@‚Ìwindows”Å‚ÌEXEƒtƒ@ƒCƒ‹‚ª—~‚µ‚¢c
‚È‚ñ‚Å‚»‚ñ‚Ȍ¢ƒo[ƒWƒ‡ƒ“‚ª—~‚µ‚¢‚Ì?
241 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/01/11(“ú) 12:16:04
>‚È‚ñ‚Å‚»‚ñ‚Ȍ¢ƒo[ƒWƒ‡ƒ“‚ª—~‚µ‚¢‚Ì?
length‚Æ‚©substr‚ÅAujv•t‚«•¶Žš—ñŠÖ”‚ª‚ ‚é‚©‚ç‚Å‚·B
3.1.5ˆÈ~‚¾‚ÆA“¯‚¶ƒXƒNƒŠƒvƒgƒtƒ@ƒCƒ‹“à‚ÅAƒoƒCƒg’PˆÊˆ—‚Æ
ƒLƒƒƒ‰ƒNƒ^[’PˆÊˆ—‚̬݂ª“ï‹V‚È‚Ì‚Å‚·B
242 F240F2009/01/11(“ú) 15:01:36
3.1.5‚Å•¶Žš‚̈µ‚¢‚ª•Ï‚í‚Á‚½‚Ì‚Í‚»‚̒ʂ肾‚¯‚ÇA3.1.4‚ÌWindows”Å‚Ä
jlength‚â‚ç‚ ‚Á‚½‚Á‚¯?
‚È‚©‚Á‚½‚ÆŽv‚¤‚ñ‚¾‚¯‚ÇB
243 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/01/11(“ú) 15:48:22
>‚È‚©‚Á‚½‚ÆŽv‚¤‚ñ‚¾‚¯‚ÇB
‚¦‚ÁB3.1.4ˆÈ‘O‚̂̓oƒCƒg’PˆÊƒIƒ“ƒŠ[‚Á‚ÄŽ–‚Å‚·‚©H
c‚»‚ê‚Å‚à2ƒoƒCƒgŠ·ŽZ‚ňµ‚¦‚΂¢‚¢‚©‚çA‚Ü‚¾ƒ}ƒV‚©‚àB

j•t‚«‚ª’ljÁ‚³‚ê‚Ä‚¢‚½‚¯‚ÇA“®ì•ÏX‚É”º‚Á‚Ä”pŽ~‚³‚ꂽc
‚ÆŽv‚Á‚Ä‚¢‚Ü‚µ‚½B
‹L‰¯‚É‚ ‚é‚Ì‚ÍA‚Ç‚È‚½‚©‚Ì“ÆŽ©Šg’£•ÊVer‚¾‚Á‚½‚Ì‚©cH
244 F240F2009/01/11(“ú) 17:54:21
> ‚¦‚ÁB3.1.4ˆÈ‘O‚̂̓oƒCƒg’PˆÊƒIƒ“ƒŠ[‚Á‚ÄŽ–‚Å‚·‚©H ‚¿‚ႤB
j‚È‚ñ‚Æ‚©‚ª‚ ‚Á‚½‚Ì‚ÍA
2.11ƒx[ƒX‚Ìjgawk‚Æ2.15ƒx[ƒX‚Ìjgawk
2.15ƒx[ƒX‚Ì‚Ægawk+mb
3.0.xƒx[ƒX‚Ìgawk+mb
‚ÅA3.1.xƒx[ƒX‚Ì‚É‚Í‚È‚©‚Á‚½‚Æ‚¢‚¤˜b‚¾‚Á‚½‚ÆŽv‚¤B
‚»‚ꂼ‚ê‚â‚Á‚Ä‚él‚ªˆá‚¤B
245 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/01/11(“ú) 19:05:17
>3.1.xƒx[ƒX‚Ì‚É‚Í‚È‚©‚Á‚½‚Æ‚¢‚¤˜b‚¾‚Á‚½‚ÆŽv‚¤B
‚»‚¤‚Å‚·‚©cB
gawk 3.1.4 mb ‚Ìwindows”Å‚ÌEXEƒtƒ@ƒCƒ‹‚ª—~‚µ‚¢c
‚Å‚Í‚È‚­‚ÄA
3.0.xƒx[ƒX‚Ìgawk+mb ‚Ìwindows”Å‚ÌEXEƒtƒ@ƒCƒ‹‚ª—~‚µ‚¢c
‚Æ‚¢‚¤Ž–‚É‚È‚é–ó‚Å‚·‚ªc–³—‚Á‚Û‚¢B
‚ ‚Á‚Ä‚àŠÖ”‚â‘gž•Ï”‚ªŒ¸­c‚»‚Ì‘O‚É16bitDOS”ÅONLY‚Ì—\Š´cB
’ú‚ß‚Ü‚·B240‚³‚ñA‚Ç‚¤‚à‚Å‚µ‚½B
>>245

http://www.hinadori.atnifty.com/~wills/
‚É‚ ‚é‚æB3.0.6‚Ì‚â‚ÂB
DOS”Å‚¾‚¯‚¶‚á‚È‚­‚ÄWin32”Å‚à‚ ‚éB

3.0.6→3.1.x‚Å‘‚¦‚½‹@”\‚Å‚àŽg‚Á‚Ä‚ñ‚Ì?

247 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/01/11(“ú) 22:30:39
>‚ ‚é‚æB3.0.6‚Ì‚â‚ÂB
‚¨‚¨B ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
>3.0.6¨3.1.x‚Å‘‚¦‚½‹@”\‚Å‚àŽg‚Á‚Ä‚ñ‚Ì?
‚¢‚‰½‚ª‘‚¦‚½‚Ì‚©‚æ‚­”cˆ¬‚µ‚Ä‚¢‚È‚¢‚ñ‚Å‚·‚ªA
gensub‚Æ‚©mktime‚Æ‚©switch-case‚Æ‚©c‚ ‚è‚Ü‚·‚©‚ËB
‚Ü‚ A‘ã‘ÖŽè’i‚Í‚ ‚é‚Ì‚ÅŽŽ‚µ‚Ä‚Ý‚Ü‚·B‚Ç‚¤‚à‚Å‚·B
248 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/02/23(ŒŽ) 08:11:12
awk‚ÅA‘g‚݇‚킹‚Ì‘S‚Ä‚ðì‚éA‚Æ‚¢‚¤Ž–‚Í‚Å‚«‚é‚Ì‚Å‚µ‚傤‚©H
‚¢‚í‚ä‚én‚br‚ÌAŒÂ”‚Å‚Í‚È‚­‚ÄA’†g‚ð’m‚肽‚¢‚Æ‚¢‚¤Ž–‚È‚Ì‚Å‚·‚ª¥¥¥B
imawk‚ðŽg‚Á‚Ä‚¢‚Ü‚·j
>>248
‚Å‚«‚Ü‚·
250 FsageF2009/03/04(…) 15:23:19
248‚Å‚·B
‚È‚ñ‚Æ‚©‚Å‚«‚Ü‚µ‚½B249‚³‚ñ‚Ç‚¤‚à‚Å‚·B
sageŠÔˆá‚¦‚½c
int(0.5005*10000)‚ª5004‚É‚È‚é‚Ì‚Í‚È‚º‚Å‚·‚©B
ŠÛ‚ߌ뷂łµ‚傤B
Ø‚èŽÌ‚Ä‘O‚É0.5‘«‚·‚Æ‚©H•v‚µ‚Ä‚Ý‚Ä‚Í”@‰½‚Å‚µ‚傤‚©B
Ú‚µ‚­‚ÍAIEEE‚Ɗۂߌ뷕ӂè‚̃L[ƒ[ƒh‚ÅŒŸõ‚Ì‚±‚ÆB
>253
‚ ‚肪‚Æ‚¤
255 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/04/13(ŒŽ) 21:36:16
gawk‚ÅŒfŽ¦”Âì‚肽‚¢‚ñ‚Å‚·‚¯‚ÇA
gawk‚ªŽg‚¦‚é–³—¿ŽI‚Ç‚±‚©‚É‚ ‚è‚Ü‚¹‚ñ‚©H
Linux‚ª“ü‚Á‚Ă郌ƒ“ƒ^ƒ‹ŽI‚È‚ç“ü‚Á‚Ä‚é‚ñ‚¶‚á‚È‚¢‚©‚È‚ŸH
ƒŒƒ“ƒ^ƒ‹ŽI”‚ł«‚¢‚Ä‚Ý‚½‚çB
‚³‚­‚ç‚ÌFreeBSD‚ÍFreeBSD‚Ìawk(!=gawk)‚¾‚Á‚½B
>>256
‚³‚­‚ç‚Ígawk‚Å‚·‚©B
Windows‚¶‚á‚È‚¢ƒŒƒ“ƒ^ƒ‹ŽI‚È‚çawk‚ªŽg‚¦‚Ä‚à—Ç‚³‚»‚¤‚Å‚·‚¯‚ÇA
–³—¿‚Å‚Í‚È‚©‚È‚©Œ©‚‚©‚ç‚È‚¢‚ñ‚Å‚·‚æ‚ËB
perlCrubyCphp‚Í‘½‚¢‚ñ‚Å‚·‚¯‚Ç‚Ë‚¥BB
258 F257F2009/04/13(ŒŽ) 22:14:30
Ž¸—çB
‚³‚­‚ç‚Ígawk‚¶‚á‚È‚¢awk‚Å‚·‚©B
‚í‚炤w
ttp://awk.info/?doc/dsl/awkplusplus.html

object_variable = class_name.new[(optional parameters)]
object_variable.method_name(parameters)
object_variable.delete
>>259
“¯‚¶‚­ƒEƒP‚½
awk‚͉i‘±“I‚ÉŽg‚Á‚Ä‚¢‚ÄCC-->C++-->Java‚Ææ‚èŒp‚¢‚Å‚«‚½‚ªCawk‚Í‚±‚ê‚çƒRƒ“ƒpƒCƒ‰Œ¾Œê‚ðŽg‚¤ã‚Å
—Ç‚¢ŠwKÞ—¿‚É‚È‚Á‚Ä‚«‚½‚ÆŽv‚¢Š´ŽÓ‚µ‚Ä‚¢‚é(‚à‚¿‚ë‚ñ–¢‚¾‚Éscript‚Ìawk‚ðawk‚Å‘‚¢‚Ä‚¢‚é)D
—Bˆêawk‚ŕ׋­‚Å‚«‚È‚©‚Á‚½‚Ì‚ªOOP‚¾‚Á‚½‚©‚çCŠwKÞ—¿‚Æ‚µ‚Ä‚Ìawk‚ª‚±‚¤‚¢‚¤•ûŒü‚ÉŠˆ˜H‚ðŒ©‚¢‚¾‚·‚Ì‚Í
—Ç‚¢‚±‚Æ‚©‚à‚µ‚ê‚È‚¢D‚½‚¾‚µŽÀ—p‚ÉŒü‚¯‚Äl‚¦‚Ä‚Ý‚é‚ÆCŒÂl“I‚É‚ÍOOP‚ª–{—Ì‚ð”­Šö‚·‚é‚Ì‚Í“ª‚Ì’†‚Åalgorithm‚ð
”cˆ¬‚µ‚«‚ê‚È‚­‚È‚é’ö“x‚É‘å‚«‚ȃVƒXƒeƒ€‚ð‘g‚Ýã‚°‚éꇂȂ̂ÅC‰Ê‚½‚µ‚Ä‚»‚ê‚ðawk‚Å‘‚­‚©‚Æ‚¢‚í‚ê‚é‚ÆcD
261 F260F2009/04/18(“y) 13:57:19
s/algorithm/ƒf[ƒ^\‘¢/
262 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/05/09(“y) 23:49:39
Å‹ßruby‚̕׋­Žn‚ß‚½‚ñ‚¾‚ªA
uruby‚ª‚ ‚ê‚ÎAWK‚¢‚ç‚Ëv‚Æ‚ÍŽv‚¦‚ñB
‹t‚ÉAWK‚Ì•Ö—˜‚³‚ðÄ”FŽ¯‚µ‚½B

‚â‚Á‚Ï‚èAŠÈ’P‚ȃeƒLƒXƒgˆ—‚Í
AWK‚Å‚â‚Á‚½‚Ù‚¤‚ªŠÈ’P‚¾B
Šes‚ɑ΂µ‚Ĉ—‚Á‚ÄꇂÍawk‚ª—Ç‚¢‚Ë
ruby‚̓IƒuƒWƒFƒNƒgŽwŒü‚ð‹­§‚³‚ê‚é‚©‚笉ñ‚肪‚«‚©‚ñ
265 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/05/10(“ú) 01:20:35
JavaScript‚ª“®‚­ HTMLŽÀŒ±•”‰®
ttp://homepage2.nifty.com/tomoarai/java/exper.html
266 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/05/14(–Ø) 08:38:05
jawk‚̘b‘肪‘S‘Ro‚È‚¢‚ËB
Žg‚Á‚Ä‚él­‚È‚¢‚ÌH
>>266
‚³‚­‚Á‚Æ1s‚ÅÏ‚Þ‚Ì‚ª‹C‚É“ü‚Á‚Ă鉴‚É‚Í–³—p‚¾‚È
>>266
JƒA(ƒI)[ƒNAƒvƒ‰ƒOƒAƒEƒbI
ttp://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_167
Geocoding - ZŠ‚©‚çˆÜ“xŒo“x‚ðŒŸõ ‚¾‚Á‚ÄB‰½‚±‚ꂨ‚à‚ë‚¢B
{if(miso<$1){printf($1)}} miso=30
‚ðŽÀs‚·‚é‚Æ$1‚ª‚PŒ…‚Ì”Žš‚Ì‚Æ‚«‚É‚¤‚Ü‚­‚¢‚©‚È‚¢‚ñ‚Å‚·‚¯‚Ç‚È‚ºH
•¶Žš—ñ‚Å”äŠr‚³‚ê‚Ä‚é‚ñ‚¶‚á‚ËH
miso<$1-0
‚Å‚â‚Á‚½‚ç‚Ç‚¤H
>>271
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B‚Å‚à‚¾‚ß‚Å‚µ‚½B
•¶Žš—ñ‚Å”äŠr‚³‚ê‚Ä‚é‚Á‚Û‚¢‚Å‚·‚ËB
>>270
‰½‚ð“ü—Í‚µ‚½‚Æ‚«‚ɉ½‚ªo‚Ä—~‚µ‚¢‚ÌH
‚¤‚Ü‚­‚¢‚©‚È‚¢‚Á‚Ä‚Ç‚¤‚È‚é‚ÌH
>>273
$1‚ª4‚Ì‚Æ‚«‚Éo‚Ä‚Ù‚µ‚­‚È‚¢‚Ì‚Éo‚Ä‚µ‚Ü‚¤‚ñ‚Å‚·DDD
>>274
‚±‚ñ‚È‚ñH
BEGIN{miso=30}{if(miso<$1){printf("%d\n",$1)}}
>>275
o‚Ä‚µ‚Ü‚¤——R‚ª‹C‚É‚È‚è‚Ü‚·DDD‚È‚ñ‚Å‚Å‚µ‚傤
‚â‚Á‚Ï‚è‚Q‚V‚P‚³‚ñ‚ÌŒ¾‚¤‚Æ‚¨‚蕶Žš—ñ”äŠr‚µ‚Ä‚é‚ñ‚Å‚µ‚傤‚©H
>>276
awk ‚̃o[ƒWƒ‡ƒ“iŽí•Êj‚ª•ª‚©‚ç‚È‚¢
‰½‚ðH‚킹‚Ä‚é‚Ì‚©•ª‚©‚ç‚È‚¢
ƒXƒNƒŠƒvƒg‚͈ês‚Å‘‚¢‚Ä‚é‚Ì‚©ƒtƒ@ƒCƒ‹‚É‚µ‚Ä‚é‚Ì‚©•ª‚©‚ç‚È‚¢
ˆês‚Å‘‚¢‚Ä‚¢‚é‚È‚çƒVƒFƒ‹‚ɉ½‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚©
•¶Žš—ñ”äŠr‚³‚ê‚Ä‚é‚È‚çˆêŒ…‚Ì‚Æ‚«‚ÉãŽè‚­‚¢‚©‚È‚¢‚Æ‚¢‚¤‚æ‚è
“ñŒ…‚Ì‚Æ‚«‚¾‚¯ãŽè‚­‚¢‚­‚Æ‚¢‚¤Š´‚¶‚È‚Ì‚©‚ËB
WindowsXP‚̃Rƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Ågawk(3.1.5)Žg‚Á‚ĉº‹L‚ðŽŽ‚µ‚Ä‚Ý‚½‚¯‚Ç
‚»‚ÌŒ»ÛÄŒ»‚Å‚«‚È‚©‚Á‚½B
gawk "{if(miso<$1){printf($1)}}" miso=30
$awk -W version
mawk 1.3.3 Nov 1996, Copyright (C) Michael D. Brennan

compiled limits:
max NF 32767
sprintf buffer 2040
$seq 1 40 | awk '{if(miso<$1)printf($1)}' miso=30
31323334353637383940
‚¤‚Ü‚­“®‚¢‚Ä‚¢‚é‚悤‚¾‚ªB
>>279‚ðƒ}ƒl‚³‚¹‚Ä‚à‚ç‚Á‚½
$ awk -W version
GNU Awk 3.1.6
Copyright (C) 1989, 1991-2007 Free Software Foundation.

$ seq 1 40 | awk '{if(miso<$1)printf($1)}' miso=30
31323334353637383940
miso=30‚Á‚Ä-v•t‚¯‚È‚­‚Ä‚¢‚¯‚é‚ñ‚¾B‚µ‚ç‚ñ‚©‚Á‚½B
gawk‚Í
ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÅŽw’肳‚ꂽƒtƒ@ƒCƒ‹–¼‚ª var=val ‚Æ‚¢‚¤Œ`Ž®‚È‚ç‚ÎA‚»‚ê‚Í•Ï”‚Ö‚Ì‘ã“ü‚Å‚ ‚é‚ƉðŽß‚³‚ê‚Ü‚·B•Ï” var ‚Í’l val ‚Éݒ肳‚ê‚Ü‚· (‚±‚ê‚ÍA‚·‚×‚Ä‚Ì BEGIN ƒuƒƒbƒN‚ðŽÀs‚µ‚½‚ ‚Æ‚És‚í‚ê‚Ü‚·)B


‚â‚Á‚Ï‚è‚à‚ê‚Ì XPƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒgŠÂ‹«‚Å‚à
>gawk -W version
GNU Awk 3.1.6
Copyright (C) 1989, 1991-2007 Free Software Foundation.

>seq 1 40 | gawk "{if(miso<$1) print}" miso=30
31
32
33
34
35
36
37
38
39
40

‚Á‚ÄŠú‘Ò’Ê‚è‚Ì“®‚«‚¾YO!
ŒÅ’è’·‚ʼnüs‚È‚µ‚̃tƒ@ƒCƒ‹i6MB’´j‚ðˆ—‚·‚邱‚Æ‚É‚È‚èA
‘¼‚̃\ƒtƒg‚Å¢‰üs‚ ‚è‚̌Œ蒷£‚É‚µ‚Ä‚©‚çAawk‚ň—‚µ‚Ä‚¢‚½‚Ì‚Å‚·‚ªc

ƒf[ƒ^ƒtƒ@ƒCƒ‹‚É‚æ‚­o‚Ä‚­‚镶Žš‚ð‚Æ‚è‚ ‚¦‚¸RS‚ÉŒ©—§‚Ä‚Ä“Ç‚Ýž‚Ý
¨RS‚ÉŽw’肵‚½•¶Žš‚ð˜AÚ
¨ŒÅ’è’·‚Ì1s•ª‚æ‚è’·‚©‚Á‚½‚ç‚»‚Ì•”•ª‚ðØ‚èo‚µ

‚µ‚Ä‚¢‚­‚Æ¢‰üs‚ ‚è‚̌Œ蒷£A‚Å‚«‚¿‚á‚¢‚Ü‚µ‚½B
RS‚ÉŽw’肵‚½•¶Žš‚ª‚µ‚΂炭o‚Ä‚±‚È‚¯‚ê‚Εϔƒpƒ“ƒN‚µ‚¿‚Ⴄ‚µA‘啪Šë‚È‚Á‚©‚µ‚¢‚Ì
‚Å‚·‚ªA‚Æ‚è‚ ‚¦‚¸awk‚Å‚Å‚«‚½‚Ì‚ª­‚µ‚¤‚ꂵ‚¢B
‰üs‚ ‚è‚̌Œ蒷‚ðawk‚Å“Ç‚ñ‚¾‚Ì‚È‚ç
substr($0, start, length) ‚ł΂点‚æw
>>283
>284‚Ý‚½‚¢‚ȓljð—Í‚È‚¢”nŽ­‚ª—N‚©‚È‚¢‚悤‚ÉA”»‚èˆÕ‚­‘‚«‚Ü‚µ‚傤B
‚Â[‚©A‹ï‘Ì“I‚ȃR[ƒh‚ào‚³‚¸‚Éuawk‚Å‚Å‚«‚Ä‚¤‚ꂵ‚¢v‚È‚ñ‚Ă̂̓`ƒ‰ƒV‚Ì— ‚É‚Ç‚¤‚¼B
fold ‚Æ‚©H
³‹K•\Œ»‚Å‹ó”’‚Å‹æØ‚ç‚ꂽƒeƒLƒXƒg‚ðHTML‚Å‚¢‚¤table‚É‚µ‚½‚¢‚Å‚·B
—áj

10i 2i 8i
000 000 000
001 001 001
002 010 002
003 011 003

«««««««

<table>
<tr><th>10i</th> <th>2i</th> <th>8i</th></tr>
<tr><td>000</td> <td>000</td> <td>000</td></tr>
<tr><td>001</td> <td>001</td> <td>001</td></tr>
<tr><td>002</td> <td>010</td> <td>002</td></tr>
<tr><td>003</td> <td>011</td> <td>003</td></tr>
</table>
>>287
³‹K•\Œ»‚ðŽg‚¤‚Ù‚Ç‚Ì‚±‚Æ‚Å‚Í‚È‚¢
ƒRƒA‚Ì•”•ª‚¾‚¯‘‚­‚Æ‚±‚ꂾ‚¯
for(i=1;i<=NF;i++) printf("<td>%s</td>", $i)
³‹K•\Œ»Žg‚Á‚ă^ƒO‚ðØ‚è‘Ö‚¦‚½‚¢‚Ì‚©‚ÈH
290 FhogehogeF2009/07/17(‹à) 16:37:34
split ‚â asort ‚µ‚½‚ç‚Ç‚¤‚µ‚Ä“YŽš‚ª1‚©‚ç‚É‚È‚é‚ñ‚¾I
‚È‚ñ‚Å‚¾I
Žd—l‘“Ç‚Ý”ò‚΂µ‚Ăăf[ƒ^Œ‡—Ž‚³‚¹‚é‚Æ‚±‚낾‚Á‚½(L¥ƒÖ¥M)

>>287
sed ‚Å‚¦‚¦‚â‚ñ
¡‚Ü‚Åawk '{print $3}'’ö“x‚µ‚©Žg‚Á‚Ä–³‚©‚Á‚½‚ªAÅ‹ß‚±‚ê‚ð“Ç‚ñ‚Åawk‚ðŒ©’¼‚µ‚½B

http://www.eecs.harvard.edu/cs152/lectures/CS152-Lecture_14-Kernighan.pdf
ttp://www.kt.rim.or.jp/~kbk/gawk-3.1/
‚±‚±‚Ìgawk‚Å>>17‚̃Tƒ“ƒvƒ‹‚ðŽŽ‚µ‚½‚ª“®‚©‚È‚©‚Á‚½B

gawk: test.awk:4: ’v–½“I: “üo—Í—p‚Ì‘o•ûŒüƒ\ƒPƒbƒg `/inet/tcp/0/www.yahoo.com/80' ‚ªŠJ‚¯‚Ü‚¹‚ñ (No such file or directory)B
293 FhogehogeF2009/07/27(ŒŽ) 11:13:15
‚»‚ê‚Í‚»‚±‚̃TƒCƒg‚Ìl‚ÉŒ¾‚¦‚æ
‚¢‚‚̂܂ɂ©gawk 3.1.7‚ªo‚Ä‚½B
Ruby •×‹­’†‚¾‚¯‚Ç AWK ‚Ì‚Ù‚¤‚ªŠy‚µ‚¢‚º(L¥ƒÖ¥M)
7ŒŽ7“ú¨[[7ŒŽ7“ú|07ŒŽ07“ú]]
7ŒŽ28“ú¨[[7ŒŽ28“ú|07ŒŽ28“ú]]
11ŒŽ3“ú¨[[11ŒŽ3“ú|11ŒŽ3“ú]]
12ŒŽ16“ú¨[[12ŒŽ16“ú|12ŒŽ16“ú]]

‚Æ’u‚«Š·‚¦‚½‚¢‚Å‚·B
perl‚È‚ç‚í‚è‚ÆŠÈ’P‚È‚Ì‚Å‚·‚ªAawk‚ÅŠÈ’P‚É‚¢‚«‚Ü‚·‚©H
Ž©•ª‚ªawk‚Ì‚±‚Æ‚ð•×‹­•s‘«‚¾‚©‚ç‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚¯‚ÇcB
ªŠÔˆá‚¢‚Ü‚µ‚½B
7ŒŽ7“ú¨[[7ŒŽ7“ú|07ŒŽ07“ú]]
7ŒŽ28“ú¨[[7ŒŽ28“ú|07ŒŽ28“ú]]
11ŒŽ3“ú¨[[11ŒŽ3“ú|11ŒŽ03“ú]]
12ŒŽ16“ú¨[[12ŒŽ16“ú|12ŒŽ16“ú]]
—Ⴊ‚æ‚­‚í‚©‚ç‚È‚¢‚ñ‚¾‚¯‚ÇC”Žš1Œ…‚Ì•”•ª‚ð2Œ…‚É‚µ‚½‚¢‚Á‚Ä‚±‚ÆH
{
gsub(/ŒŽ|“ú/," ");
printf("%02dŒŽ%02d“ú\n",$1,$2);
}
‚Æ‚©D
ƒtƒB[ƒ‹ƒhƒZƒpƒŒ[ƒ^‚ªƒfƒtƒHƒ‹ƒg(”¼ŠpƒXƒy[ƒX)‚ÌꇂËD
>296
Perl‚ÅŠÈ’P‚É‘‚¯‚é‚È‚çAˆê’UPerlƒR[ƒhŽN‚µ‚Ä‚­‚ê‚é‚©H
‚Ç‚¤‚àŽd—l‚ª‚æ‚­‰ð‚ç‚ñ‚Ì‚¾c
print gensub(/0([0-9])([0-9])/, "\\1\\2", "g", gensub(/([0-9]+)/, "0\\1", "g",
$1))

‰ä‚È‚ª‚牘‚Ë‚¥‚È‚Ÿ(L¥ƒÖ¥M)
>>299‚Ì•û‚ª‚¢‚¢‚È
>>298,300 ’uŠ·‚µ‚È‚¢‚Å•Ï‚¦‚½‚¢‚Æ‚±‚¾‚¯o—Í‚·‚é‚Ȃ炱‚¤‚¢‚¤ˆÓ–¡‚Å‚·B
#!/usr/bin/perl
while(1){
$line = <STDIN>;
if($line =~ /(0?[1-9]|1[0-2])ŒŽ(0?[1-9]|[1-2][0-9]|3[01])“ú/){
$month = $1; $day = $2;
if($month >= 10) {
if($day >=10){
print "$& -> [[$monthŒŽ$day“ú]]";
}
else {
print "$& -> [[$monthŒŽ$day“ú|$monthŒŽ0$day]]";
}
}
else{
if($day >=10){
print "$& -> [[$monthŒŽ$day“ú|0$monthŒŽ$day]]";
}
else{
print "$& -> [[$monthŒŽ$day“ú|0$monthŒŽ0$day]]";
}
}
}
}
1ŒŽ1“ú - ƒ†[ƒ“±“ü10Žü”NB
1ŒŽ1“ú -> [[1ŒŽ1“ú|01ŒŽ01]]
12ŒŽ31“ú - ƒjƒ…[ƒˆ[ƒN‚̃}ƒ“ƒnƒbƒ^ƒ“‹´ŠJ’Ê100Žü”NB
12ŒŽ31“ú -> [[12ŒŽ31“ú]]
8ŒŽ21“ú - ƒnƒƒCBB§50Žü”NB
8ŒŽ21“ú -> [[8ŒŽ21“ú|08ŒŽ21]]
10ŒŽ1“ú - ƒpƒ‰ƒI“Æ—§15Žü”NB
10ŒŽ1“ú -> [[10ŒŽ1“ú|10ŒŽ01]]
‚È‚ñ‚©‘f’¼‚ÉPerl‚Å‚â‚Á‚½‚Ù‚¤‚ªŠy‚»‚¤‚¾‚È‚ A‚»‚êB
‚¿‚È‚Ý‚ÉA‚»‚̃R[ƒh‚¶‚á–³ŒÀƒ‹[ƒv‚·‚邼B
#!/usr/bin/perl
while($line = <STDIN>) {
    if($line =~ /(0?[1-9]|1[0-2])ŒŽ(0?[1-9]|[1-2][0-9]|3[01])“ú/) {
        $month = $1; $day = $2;
        if($month < 10 || $day < 10) {
            printf "%s -> [[%dŒŽ%d“ú|%02dŒŽ%02d]]\n", $&, $month, $day, $month, $day;
        }
        else {
            print "$& -> [[$monthŒŽ$day“ú]]\n";
        }
    }
}
‚¾‚ß‚¾cƒR[ƒh‚̈Ӗ¡‚Í•ª‚©‚邪CŽd—l‚ª—Ç‚­•ª‚©‚ç‚ñD
7ŒŽ7“ú
‚Æ‚¢‚¤•¶Žš—ñ‚ð
[[7ŒŽ7“ú|07ŒŽ07“ú]]
‚Æ’u‚«Š·‚¦‚éA‚Á‚Ä‚±‚Æ‚Å‚µ‚åB
‚È‚ñ‚Å•ª‚©‚ç‚ñ‚©‚È‚ŸB‚»‚Á‚¿‚Ì‚ª•ª‚©‚ç‚ñB
“ü—Í‚ª07ŒŽ07“ú‚¾‚Á‚½‚çC
o—Í‚Í[[07ŒŽ07“ú|07ŒŽ07“ú]]‚É‚È‚é‚æ‚ËH‚±‚ê‚ÍOK?
‚»‚à‚»‚àC‚»‚¤‚¢‚¤“ü—Í‚Í‹N‚±‚肦‚È‚¢‚ÌH
307 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/08/06(–Ø) 18:17:38 BE:1557058166-2BP(0)
>>305
‚»‚ñ‚ÈŠ´‚¶‚Å‚·B
–Ú“I‚ðŒ¾‚Á‚Ä‚¢‚È‚¢‚Ì‚ÅA‰½‚ª‚â‚肽‚¢‚Ì‚©‚æ‚­‚í‚©‚ç‚È‚¢‚Ì‚¾‚ÆŽv‚¢‚Ü‚·B
‘‚¢˜bAWiki‚Ì‹L–@‚ðŽg‚Á‚ăŠƒ“ƒN‚𒣂肽‚¢‚Ì‚Å‚·B
0‚ð‚­‚í‚¦‚ÄŒ…‚ð’²®‚µ‚Ä‚¢‚é——R‚Í
•¶Žš—ñ‚Æ‚µ‚ă\[ƒg‚µ‚ij‚µ‚­¸‡‚É•À‚Ԃ悤‚É‚·‚邽‚ß‚Å‚·B—Ⴆ‚ÎWikipedia‚È‚ç
7ŒŽ7“ú‚Ì‚Æ‚«‚ÍA[[7ŒŽ7“ú|07ŒŽ07“ú]]‚Æ‚·‚邱‚Æ‚Å
ƒŠƒ“ƒN‚Íhttp://ja.wikipedia.org/wiki/7ŒŽ7“ú
•\Ž¦‚³‚ê‚镶Žš—ñ‚Í 07ŒŽ07“ú@
‚Æ‚È‚è‚Ü‚·B
‚±‚ê‚ðƒ\[ƒg‚Å‚«‚éƒe[ƒuƒ‹‚Ì—v‘f‚É‚µ‚Ü‚·BŽQl‚Ü‚Å‚É
http://ja.wikipedia.org/wiki/Help:%E8%A1%A8%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9#.E5.86.8D.E6.95.B4.E5.88.97.E5.8F.AF.E8.83.BD.E3.81.AA.E8.A1.A8
‚±‚̈—‚Íawk‚Å‚à‰Â”\‚È‚±‚Ƃ͉”\‚¾‚Á‚½‚ñ‚Å‚·‚ªA–³’m‚È‚¹‚¢‚©
‚¨‚»‚낵‚­•sŠiD‚É‚È‚è‚Ü‚µ‚½B

>>306
‚»‚êŽv‚¢‚Ü‚µ‚½B‚Å‚«‚ê‚Î
07ŒŽ07“ú->[[7ŒŽ7“ú|07ŒŽ07“ú]]
‚̂悤‚Ɉ—‚µ‚½‚¢‚Å‚·B
>>303
‚»‚ê‚Å‚·B‚»‚¤‚¢‚¤ˆÓ–¡‚Å‚·B
# gawk ‚É‚æ‚é match ŠÖ”‚ÌŠg’£‚ðŽg‚Á‚Ä‚¢‚é.
# ˆês‚É•¡”‰ñŒ»‚ꂽꇂ͖³Ž‹.

BEGIN {
    F = "(0?[1-9]|1[0-2])ŒŽ(0?[1-9]|[1-2][0-9]|3[01])“ú";
}

{
    if ($0 ~ F) {
        match($0, F, a);
        if (a[1]+0 < 10 || a[2]+0 < 10) {
            sub(a[0], sprintf("[[%dŒŽ%d“ú|%02dŒŽ%02d“ú]]", $0, a[2], a[1], a[2], a[1]));
        } else {
            sub(a[0], sprintf("[[%dŒŽ%d“ú]]", $0, a[2], a[1]));
        }
    }
    print $0;
}
310 F309F2009/08/06(–Ø) 21:21:15
# ’ù³.

BEGIN {
    F = "(0?[1-9]|1[0-2])ŒŽ(0?[1-9]|[1-2][0-9]|3[01])“ú";
}

{
    if ($0 ~ F) {
        match($0, F, a);
        if (a[1]+0 < 10 || a[2]+0 < 10) {
            sub(a[0], sprintf("[[%dŒŽ%d“ú|%02dŒŽ%02d“ú]]", a[1], a[2], a[1], a[2]));
        } else {
            sub(a[0], sprintf("[[%dŒŽ%d“ú]]", a[1], a[2]));
        }
    }
    print $0;
}
>>310 Š®àø‚Å‚·B¡“x‚©‚炱‚ê‚ðŽg‚¢‚Ü‚·—L“‚²‚´‚¢‚Ü‚µ‚½B

$ cat test.txt
1ŒŽ1“ú #mŒŽd“ú
01ŒŽ1“ú #0mŒŽd“ú
1ŒŽ01“ú #mŒŽ0d“ú
01ŒŽ01“ú #0mŒŽ0d“ú

2ŒŽ10“ú #mŒŽdd“ú
02ŒŽ10“ú #0mŒŽdd“ú

11ŒŽ3“ú #mmŒŽd“ú
11ŒŽ03“ú #mmŒŽ0d“ú

12ŒŽ16“ú #mmŒŽdd“ú

$ awk -f test.awk test.txt
[[1ŒŽ1“ú|01ŒŽ01“ú]] #mŒŽd“ú
[[1ŒŽ1“ú|01ŒŽ01“ú]] #0mŒŽd“ú
[[1ŒŽ1“ú|01ŒŽ01“ú]] #mŒŽ0d“ú
[[1ŒŽ1“ú|01ŒŽ01“ú]] #0mŒŽ0d“ú

[[2ŒŽ10“ú|02ŒŽ10“ú]] #mŒŽdd“ú
[[2ŒŽ10“ú|02ŒŽ10“ú]] #0mŒŽdd“ú

[[11ŒŽ3“ú|11ŒŽ03“ú]] #mmŒŽd“ú
[[11ŒŽ3“ú|11ŒŽ03“ú]] #mmŒŽ0d“ú

[[12ŒŽ16“ú]] #mmŒŽdd“ú
ʼn‚É‚»‚¤‚¢‚¤ƒeƒXƒgƒoƒ^[ƒ“‚ðo‚»‚¤‚Ë
‚±‚±‚ÌZl‚ªƒR[ƒfƒBƒ“ƒOD‚«‚¾‚©‚ç‚Á‚Ċ¦‚₪‚Á‚Ä(L¥ƒÖ¥M)

> perl‚È‚ç‚í‚è‚ÆŠÈ’P‚È‚Ì‚Å‚·‚ªAawk‚ÅŠÈ’P‚É‚¢‚«‚Ü‚·‚©H
‚Á‚ÄŒ¾‚Á‚Ä‚é‚ñ‚¾‚©‚çAu‚¢‚«‚Ü‚·v‚Á‚Ä“š‚¦‚è‚á‚¢‚¢‚ñ‚¾‚æ‚È
>>312
‚È‚É‚»‚ÌŽ€‚Ìsi‚±‚í‚¢
ƒoƒ^[ƒ“@ƒeƒXƒg‚̃fƒXƒ}[ƒ`
>>294
3.1.7ƒx[ƒX‚ÌWindows—pƒoƒCƒiƒŠAo‚Ü‚µ‚½B
ttp://www.kt.rim.or.jp/%7Ekbk/gawk-3.1/index.html#GAWK-DOWNLOAD
317 F222.248.109.70F2009/08/17(ŒŽ) 17:45:07
Ž©“®Äl š@@Ž©“®•ÛŽç ŸKAWORUKOFI@@Ž©“®•ÛŽç#K9K?_D[L

–¼Œ¾W@‚»‚Ì‚R
w‚¢‚‚àƒTƒ{‚Á‚Ă΂©‚è‚̃Lƒƒƒbƒv‚ªƒEƒ[‚¦x

http://yutori7.2ch.net/test/read.cgi/news4vip/1249830540/@ID:PVAf+dux0@@Ž©“®Äl š
> 71 FˆÈ‰ºA–¼–³‚µ‚É‚©‚í‚è‚Ü‚µ‚ÄVIP‚ª‚¨‘—‚肵‚Ü‚· [sage] F2009/08/10(ŒŽ) 00:58:57.28 ID:PVAf+dux0
> >>69
> ‘å•Ï‚Á‚ÄŒ¾‚¤‚©
> –ˆ“úA•ñ‚³‚ꂽ‚Ì‚ðŒ©‚ÄA”»’f‚µ‚ÄAˆ—‚µ‚ÄAŠ®—¹•ñ‚µ‚ÄAˆÈ‰ºƒ‹[ƒvB
> ‚¿‚å‚Á‚Æ‚Å‚àƒ~ƒX‚·‚é‚ÆA•’i‚Íì‹Æ‚à‚µ‚Ä‚È‚¢ƒLƒƒƒbƒv‚³‚ñ‚½‚¿‚ª‚³‚ñ‚´‚ñ•¶‹åŒ¾‚Á‚Ä‚«‚Ä
> ‚»‚ÌŒ¾‚¢‚킯‚ðl‚¦‚È‚¢‚ÆAƒLƒƒƒbƒv‚Í‚­’D‚³‚ꂽ‚èƒAƒJƒEƒ“ƒg“€Œ‹‚³‚ꂽ‚è‚·‚é‚©‚ç
>
> “o˜^‚³‚ê‚Ä‚©‚çˆê”NˆÈãŒo‚Á‚ÄA‚â‚Á‚Æ‚¢‚¢‚½‚¢‚±‚ÆŒ¾‚¦‚é‚悤‚É‚È‚Á‚Ä‚«‚½‚æB



----------------------------------------------
‚±‚ÌŽ©“®Äl šƒ[ƒ‹ƒ}ƒKƒWƒ“‚Ì”zM’âŽ~‚ð‚²Šó–]‚³‚ê‚é•û‚Í
http://qb5.2ch.net/test/read.cgi/sec2chd/1250169591/
‚É‚ÄŽ©“®Äl š‚Ü‚Å‚²˜A—‚­‚¾‚³‚¢
318 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/10/24(“y) 17:23:04
ÅŒã‚Ì10s‚ðˆ—‚µ‚½‚­‚È‚¢ê‡A‚Ç‚¤‘‚¯‚Ηǂ¢‚Å‚µ‚傤‚©H
ÅŒã‚Ü‚Å“Ç‚Ü‚¸‚ÉÅŒã‚Ì10s‚©‚Ç‚¤‚©”»’è‚·‚é•û–@‚Í–³‚¢‚¾‚낤‚È
ˆ—‘ÎÛ‚ªƒtƒ@ƒCƒ‹‚È‚çAŽ–‘O‚Éwc -l‚©‰½‚©‚Ås”’²‚×‚Ä awk ‚É“n‚µ‚Ä‚Ý‚Ä‚Í
¬‚é’öA‚±‚êA‚Æ‚¢‚¤•û–@‚Í–³‚³‚»‚¤‚Å‚·‚Ë
‚¿‚å‚Á‚Æl‚¦‚È‚ª‚ç‚â‚Á‚Ä‚Ý‚Ü‚·
‚Æ‚è‚ ‚¦‚¸A‚±‚ñ‚ÈŠ´‚¶‚É‚µ‚Ü‚µ‚½
BEGIN {
SKIPTAILS = 10
}
{
line = buf[1]
for(i=1;i<SKIPTAILS;i++) buf[i] = buf[i+1]
buf[SKIPTAILS] = $0
}
NR > SKIPTAILS {
# line‚ðˆ—
}
>>321 l‚¦•û‚Í“¯‚¶‚¾‚¯‚ÇAfor‚ª‹C‚É‚È‚Á‚½‚Ì‚Å
ƒŠƒ“ƒOƒoƒbƒtƒ@‚ň—‚·‚é‚悤‚É‚µ‚Ä‚Ý‚½B

BEGIN {
@@SKIPTAILS = 10
@@ringpos = SKIPTAILS
}
{
@@ringpos = (ringpos + 1) % SKIPTAILS
@@line = buf[ringpos]
@@buf[ringpos] = $0
}
NR > SKIPTAILS {
@@# line‚ðˆ—
}
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
ƒŠƒ“ƒOƒoƒbƒtƒ@A•×‹­‚É‚È‚è‚Ü‚µ‚½
Žg‚킹‚Ä’¸‚«‚Ü‚·
>>42
sed awk ‚µ‚Ä‘DŽR‚É“o‚é@‚¾‚ëH
Ž¿–â‚Å‚·
gawk‚Å
{
printf("%d,%s\n", NR, $0 ) > FILENAME;
}
‚Æ‚¢‚¤s“ª‚ɔԆ‚ðU‚Á‚Ä•Û‘¶‚·‚鈗‚ð‚µ‚Ä

batƒtƒ@ƒCƒ‹‚ňꊇˆ—‚³‚¹‚悤‚Æ‚µ‚½‚ñ‚Å‚·‚ª
c:\windows\gawk\gawk -f g:\ì‹Æ—p\n.awk g:\ì‹Æ—p\*.txt

ŽÀsŒ‹‰Ê‚ª
ƒtƒ@ƒCƒ‹1@@ƒtƒ@ƒCƒ‹2
1‚`@@@@@@4‚c@@
2‚a@@@@@@5‚d@
3‚b@@@@@@6‚e
‚É‚È‚è‚Ü‚·

ƒtƒ@ƒCƒ‹2‚à
1‚c
2‚d
3‚e
‚É‚·‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚Å‚µ‚傤‚©H
FNR
>>326
‚¨‚¨Ao—ˆ‚½I
v‘¬‚ȉñ“š‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
328 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2009/12/21(ŒŽ) 13:53:34
”N––‚Ƀpƒ\ƒRƒ“‚𔃂¢Š·‚¦‚悤‚ÆŽv‚Á‚Ä‹@Ží‘I‚Ñ‚ð‚µ‚Ä‚¢‚Ä‚Ó‚Æ‹C‚¢‚½A
‚ ‚êAvaio‚ÌOS‚ªWindows7 64bitƒo[ƒWƒ‡ƒ“‚ÉEEE
ƒ_ƒ‚¶‚á‚ñIgawk‚ªŽg‚¦‚È‚­‚È‚Á‚Ä‚µ‚Ü‚¤EEE
‚¤[‚ñAAA‚Ü‚½XP‚𔃂¤‚ׂ«‚©EEE”Y‚ÞEEE
>>328
Ž©•ª‚ŃRƒ“ƒpƒCƒ‹‚µ’¼‚¹‚΂¢‚¢‚¾‚¯‚¶‚á‚È‚¢‚ÌH
ƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾ŒêAWK•œŠ§‚¾‚Á‚Ä‚ËB
ttp://slashdot.jp/developers/article.pl?sid=10/01/06/0345207

‘½•ª•K—v«‚ðŠ´‚¶‚È‚¢’ö“x‚É‚ÍŽg‚Á‚Ä‚é‚©‚çA”ƒ‚í‚È‚¢‚¯‚ÇŠð‚µ‚¢B
•z‹³—p‚É”ƒ‚¤‚Á‚Ä‚Ì‚à‚¿‚å‚Á‚Æ‚ÈB

AAA BBB CCC c -O ZZZ YYY XXX c

awkVŽQ‚Å‚·B
-O(ƒIƒvƒVƒ‡ƒ“)‚ðŒŸõ‚µA
-O‚Æ‚»‚êˆÈ~‚ðƒŠƒ_ƒCƒŒƒNƒg‚µ‚½‚¢‚Ì‚Å‚·‚ªc
—Ç‚¢•û–@A‚ ‚è‚Ü‚·‚Å‚µ‚傤‚©
ƒŠƒ_ƒCƒŒƒNƒg‚Á‚Ä‚Ç‚¤‚¢‚¤ˆÓ–¡‚ÅŽg‚Á‚Ä‚é?

‚»‚Ì AAA ‚ÅŽn‚܂镶Žš—ñ‚àˆê‘Ì‚Ç‚¤‚¢‚¤‚à‚Ì‚È‚ÌB
ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ˆø”‚È‚Ì‚©Aƒtƒ@ƒCƒ‹‚©‚ç“Ç‚Ýž‚ñ‚Å‚­‚é‚Ì‚Æ‚©B

—pŒê‚Æ󋵂͂«‚¿‚ñ‚Æ‘‚¢‚Ä‚­‚êB
D:\My Documents\gawk\331>type 331.txt
AAA BBB CCC c -O ZZZ YYY XXX 0c
AAA BBB CCC c -O ZZZ YYY XXX 1c
AAA BBB CCC c -O ZZZ YYY XXX 2c

D:\My Documents\gawk\331>type 331.awk
{match($0, " -O .*", a);
print a[0];}

D:\My Documents\gawk\331>gawk -f 331.awk 331.txt >a.txt

D:\My Documents\gawk\331>type a.txt
-O ZZZ YYY XXX 0c
-O ZZZ YYY XXX 1c
-O ZZZ YYY XXX 2c

D:\My Documents\gawk\331>
334 F331F2010/02/28(“ú) 18:43:32
ƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

>>332‚·‚Ý‚Ü‚¹‚ñB‘‚«’¼‚µ‚Ü‚·B
AAA BBB CCC c -O ZZZ YYY XXX c
‚Æ‘•¡”s‘‚©‚ꂽƒtƒ@ƒCƒ‹‚ª‚ ‚èA
u-OvˆÈ~‚Ì•¶Žš—ñ‚ð•Êƒtƒ@ƒCƒ‹‚É•Û‘¶‚·‚é
‚Á‚Ä‚±‚Æ‚ð‚µ‚½‚©‚Á‚½‚Ì‚Å‚·B

>>333
ƒGƒXƒp[‚È•¶‚¾‚Á‚½‚Ì‚É‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‘z’肵‚Ä‚½‚Ì‚Í‚»‚ñ‚ÈŠ´‚¶‚Å‚·B
‚½‚¾ˆÈ‰º‚̃Gƒ‰[‚ªo‚ÄãŽè‚­‚¢‚«‚Ü‚¹‚ñc

gawk: 331.awk:2: fatal: match() cannot have 3 arguments

matchŽg‚Á‚Ä‚é‚Ì‚Éa‚Æ‚¢‚¤3‚–ڂ̈ø”‚ðŽg‚Á‚Ä‚é‚©‚çc‚Á‚Ä‚±‚Æ‚Å‚µ‚傤‚©cH
Q: make spits out errors like Makefile.awk:256: fatal: match() cannot have 3 arguments

A: Your AWK is too old to recreate the Makefile. The build is done based on the distributed Makefile. Everything shall compile successfully though.
So if the compile succeeds just ignore such errors, please.
336 F335F2010/02/28(“ú) 19:22:38
{print substr($0, match($0, " -O .*")+1);}
337 F331F2010/02/28(“ú) 20:03:12
>>336
o—ˆ‚Ü‚µ‚½B‚Ü‚³‚©–{“ú’†‚É‰ðŒˆ‚Å‚«‚é‚Æ‚ÍŽv‚¢‚Ü‚¹‚ñ‚Å‚µ‚½B
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B‘å•Ï•×‹­‚É‚È‚è‚Ü‚µ‚½B
ÎÞ¿@–{“–‚ɕ׋­‚É‚È‚Á‚½‚©‚Ç‚¤‚©‚Í‹^–₾¥¥¥
@‚¨‚Á‚ƈꌾƒIƒE‚©‚Á‚½‚©B
gsub()‚Æ‚©‚ňø”‚É•Ï”‚ð—˜—p‚µ‚½‚¢‚Ì‚Å‚·‚ª‚Ç‚¤‚·‚ê‚΂¢‚¢‚Ì‚Å‚µ‚傤‚©H
gsub(str1,str2)‚Ý‚½‚¢‚ÉB
>>339
man gawk‚æ‚è
gsub(r, s [, t])
For each substring matching the regular expression r in the string t,
substitute the string s, and return the number of substitutions.
If t is not supplied, use $0. An & in the replacement text is
replaced with the text that was actually matched. Use \& to get a
literal &. (This must be typed as "\\&"; see GAWK: Effective AWK
Programming for a fuller discussion of the rules for &'s and
backslashes in the replacement text of sub(), gsub(), and gen sub().)
awk 'BEGIN{x="ABCDE";y="BCD";z="XXX";gsub(y,z,x);print x}'

‰½‚ª“‚¢‚Ì‚©‚æ‚­‚í‚©‚ç‚ñB
342 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/03/17(…) 22:07:37
ŽžXawk‚¾‚Æ’x‚¢‚Ì‚Åperl‚É‘‚«Š·‚¦‚é‚Æ‚¢‚¤l‚ª‚¢‚Ü‚·‚ªA
ŽÀÛ‚Ì‚Æ‚±‚둬‚­‚È‚é‚ñ‚Å‚µ‚傤‚©H
Ž„‚̊‹«‚Å‚Íforƒ‹[ƒv‚â‰ÁŽZ‚È‚Ç‚Íawk‚Ì‚Ù‚¤‚ª‘¬‚»‚¤‚Å‚·‚ªA
‚ǂ̂悤‚Ȉ—‚ÌꇂÉperl‚Ì‚Ù‚¤‚ª‘¬‚­‚È‚è‚Ü‚·‚©H

$ time mawk 'BEGIN{x=0;for(i=1;i<=1000000;i++){x=x+i};printf("%f\n" ,x)}'
500000500000.000000

real 0m0.131s
user 0m0.120s
sys 0m0.000s
$ time gawk 'BEGIN{x=0;for(i=1;i<=1000000;i++){x=x+i};print x}'
500000500000

real 0m0.289s
user 0m0.284s
sys 0m0.000s
$ time perl -e '$x=0;for($i=1;$i<=1000000;$i++){$x=$x+$i};print $x'
500000500000
real 0m0.379s
user 0m0.376s
sys 0m0.004s
>>342
uawk‚¾‚Æ’x‚¢‚Ì‚Åperl‚É‘‚«Š·‚¦‚é‚Æ‚¢‚¤lv ‚É•·‚¯‚Εª‚©‚é
>>342
’x‚¢‚Æ‚¢‚¤awk‚Ígawk‚È‚Ì?
‘f‚Ìawk‚æ‚ègawk‚Ì•û‚ª‘‚­‚È‚©‚Á‚½‚Á‚¯H
ƒJ[ƒjƒnƒ“‚ƃpƒCƒN‚ÌwƒvƒƒOƒ‰ƒ~ƒ“ƒOì–@x‚Éawk‚Æperl
i‚ÆC‚ÆC++‚ÆJAVAj‚Ì”äŠr‚ª‚ ‚é‚È

¡‚̃}ƒVƒ“Žg‚Á‚Ä‘‚«Š·‚¦‚È‚«‚á‚È‚ç‚È‚¢‚Ù‚Ç’x‚¢‚Á‚Ä
‚Ç‚ñ‚Ȉ—‚È‚ñ‚¾‚낤H
>342
awk “™‚ð‘g‚݇‚킹‚ÄŽÀs‚·‚é‚ƃvƒƒZƒX‹N“®‚̃RƒXƒg‚ª‚©‚©‚é‚Ì‚Å perl ‚ňê‚‚ɓZ‚ß‚éA‚Æ‚¢‚¤˜b‚¶‚á‚È‚¢‚ÌH
347 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/03/22(ŒŽ) 17:35:11
•¶ŽšƒR[ƒh‚̃R[ƒh‚ð•Ï”‚É‚µ‚Ä•¶Žš—ñ‚ð‘€ì‚·‚邱‚Æ‚Á‚Ä‚Å‚«‚Ü‚·‚©H
•¶Žš—ñ’†‚Ì‘SŠp•¶Žš‚𔼊p•¶Žš‚É•Ï‚¦‚é‰Ø—í‚È•û–@‚ð–Íõ‚µ‚Ä‚¢‚Ü‚·B
Use iconv.
> •¶ŽšƒR[ƒh‚̃R[ƒh‚ð•Ï”‚É‚µ‚Ä•¶Žš—ñ‚ð‘€ì‚·‚邱‚Æ‚Á‚Ä‚Å‚«‚Ü‚·‚©H

‚È‚É‚ð‚µ‚½‚¢‚Ì‚©‚æ‚­‚í‚©‚ñ‚È‚¢‚ñ‚¾‚¯‚ÇB

> •¶Žš—ñ’†‚Ì‘SŠp•¶Žš‚𔼊p•¶Žš‚É•Ï‚¦‚é‰Ø—í‚È•û–@‚ð–Íõ‚µ‚Ä‚¢‚Ü‚·B

‰Ø—í‚È‚Ì‚ÍtrƒRƒ}ƒ“ƒh‚ðŽg‚¤•û–@B‚½‚¾tr‚ªƒ}ƒ‹ƒ`ƒoƒCƒg‚ð‚¤‚Ü‚­ˆµ‚Á‚Ä‚­‚ê‚é‚©
‚Ç‚¤‚©‚Í‚±‚±‚ë‚à‚Æ‚È‚¢B
Perl‚È‚çtr‚ðARuby‚Ȃ當Žš—ñƒNƒ‰ƒX‚Ìtrƒƒ\ƒbƒh‚ðA
Python‚È‚çstringƒ‚ƒWƒ…[ƒ‹‚ÌmaketransŠÖ”‚Æ•¶Žš—ñ‚̃ƒ\ƒbƒhtranslete‚ðŽg‚¤A
‚Æ‚¢‚¤Žè‚ª‚ ‚éB
awk‚È‚¢‚µitrˆÈŠO‚ÌjŒÃ“T“I‚ȃc[ƒ‹‚ʼnؗí‚É‚â‚é•û–@‚Í‚È‚¢‚ÆŽv‚¤B
350 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/03/24(…) 17:11:16
Excel‚Å
‘SŠp”¼Šp•ÏŠ·‚Í ASC()
”¼Šp‘SŠp•ÏŠ·‚Í JIS()
>>347
1. EUC-JP‚É‚µ‚Ä(nkf‚Æ‚©)kakasi ‚ÅA–ß‚·
2. ‚»‚ꂾ‚Á‚½‚çʼn‚©‚çAnkf -Z
3. gawk‘O’ñ‚ÅA•¶Žš–ˆ‚Ɉ—(LANG‚ðŽw’肵‚ÄŽqƒvƒƒZƒX‹N“®)

awk‚Ì’†‚ŕ‚¶‚Ä‚â‚é‚Ì‚Í‚ß‚ñ‚Ç‚­‚³‚»‚¤
gawk 3.1.6
system(cmd) ‚ðŽg‚¤‚ÆAƒAƒ“ƒ`ƒEƒBƒ‹ƒXƒ\ƒtƒg(kaspersky)‚Ì
ƒAƒvƒŠƒP[ƒVƒ‡ƒ“—š—ð‚Ƀoƒbƒ`ƒtƒ@ƒCƒ‹‚ª“o˜^‚³‚ê‚é‚Ì‚ð”­Œ©B
close(cmd) ‚µ‚Ä‚à“¯‚¶B

while(cmd|getline>0){}
‚Å‘ã—p‚·‚é‚ÆŽc‚ç‚È‚­‚È‚Á‚½B??
•§‚Ńuƒ‹ƒJ”Û’è‚ÌŒˆ‹cÌ‘ð@u‘‚̉¿’lŠÏ‚Æ‘Š—e‚ê‚È‚¢v
http://www.cnn.co.jp/world/AIC201005120004.html

ƒeƒwƒ‰ƒ“‚ÅAƒuƒ‹ƒJ‚ð’…‚Ä“üo‘‚·‚鎞‚Á‚ÄAŠç‚̃`ƒFƒbƒN‚Ç‚¤‚·‚é‚ñ‚¾‚낤B
‘¼l‚â’j‚Å‚à‚΂ê‚È‚¢‚ÌH
>>353
Œë”šƒXƒ}ƒ“
355 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/14(‹à) 13:38:24
awk‚Ìprint‚ɂ‚¢‚Ä‚²‹³Ž¦‰º‚³‚¢B

‰º‚̂悤‚Èo—Í‚ª—L‚Á‚½ê‡A—Ⴆ‚Î
lrwxrwxrwx 1 root root 70 May 18 10:37 hoge

ls -al | awk '{print$1$2$2$4$6$7$8$9}' ‚Æ‚·‚ê‚Îu$5v‚Ì
u70v‚𔲂­‚±‚Æ‚ªo—ˆ‚Ü‚·‚ªA‚±‚ꂪ$100‚Æ‚©‚Ü‚Å‘±‚­ê‡A
u$5v‚¾‚¯‚𔲂«‚½‚¢ê‡‹Lq‚ª‘å•Ï‚É‚È‚è‚Ü‚·B

‰½‚©—Ç‚¢•û–@‚Í–³‚¢‚à‚Ì‚Å‚µ‚傤‚©H
$n‚É‘ã“ü‚ª‚ ‚é‚ÆA‚»‚ÌŽž“_‚Å$0‚ªÄ\¬‚³‚ê‚éB

‹æØ‚è‚Ì‹ó”’‚ª$5‚Ì‚ ‚Á‚½‚Æ‚±‚낾‚¯2ŒÂ‚É‚È‚é‚Ì‚ª‹C‚É‚È‚ç‚È‚¯‚ê‚ÎA
ls -al | awk '{$5 = ""; print}'
‚Æ‚·‚ê‚΂悢B

‹ó”’2ŒÂ‚ðC³‚·‚é‚Ȃ炱‚¤‚·‚éB
ls -al | awk '{$5 = ""; print $0}' | awk '{$1 = $1; print}'
$0 ‚Í—]Œv‚¾‚Á‚½B
ls -al | awk '{$5 = ""; print}' | awk '{$1 = $1; print}'
2‚‚߂Ìawk‚Ì$1 = $1‚͉½‚Ì‚½‚ß?
‚È‚É‚à‚µ‚È‚¢‚ÆA$0‚Í“Ç‚Ýž‚ñ‚¾‚»‚Ì‚Ü‚Ü‚È‚Ì‚Å‹ó”’2ŒÂ‚Í‹ó”’2ŒÂ‚Ì‚Ü‚ÜB
$1=$1‚Å‘ã“ü‚µ‚Ä‚â‚é‚ÆA$1, $2, ...‚ð‹ó”’1ŒÂ‚ł‚Ȃ¢‚¾‚à‚Ì‚ª$0‚É‘ã“ü‚³‚ê‚é‚Ì‚ÅA
‹ó”’2ŒÂ‚¾‚Á‚½‚Æ‚±‚낪‹ó”’1ŒÂ‚É‚È‚éB
2‚‚߂Ìawk‚ÉH‚킹‚½Žž“_‚Å$n (n>0)‚Í‹l‚܂邯‚Ç$0‚Í“ü—Ís‚»‚Ì‚Ü‚Ü
‹ó”’2ŒÂ‚È‚Ì‚Å$0‚ðÄ\¬‚·‚é‚Æ‹ó”’1ŒÂ‹æØ‚è‚É‚È‚é
>>357-358
”ñí‚ɉð‚è‚â‚·‚¢‚²à–¾A‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚È‚é‚Ù‚Ç‘ã“ü‚·‚邱‚Æ‚Å‰ðŒˆ‚·‚é‚ñ‚Å‚·‚ËB
•×‹­‚É‚È‚è‚Ü‚µ‚½B
$1 = $1 ‚Á‚ăCƒ}ƒCƒ`‚æ‚­‰ð‚ç‚ñ

$1‚Á‚ÄFS‚Å‹æØ‚ç‚ꂽˆê‚–ڂ¾‚æ‚ËH
‚È‚ñ‚Å‚»‚ꎩg‚ðŽ©•ª‚É‘ã“ü‚µ‚½‚çƒXƒy[ƒX‚ªÁ‚¦‚é‚ñH
$0‚ÌÄ\¬‚ªs‚í‚ê‚é‚©‚ç‚Á‚Äà–¾‚³‚ê‚Ă邾‚ëB

$0‚ÌÄ\¬‚Æ‚Í‚¢‚Á‚½‚ñ‚΂炵‚½$1,$2,...‚ðOFS‚ð‹²‚ñ‚Å
‚‚Ȃ°’¼‚·‚Á‚Ä‚±‚Æ‚È‚Ì‚ÅA‰½‚Å‹æØ‚ç‚ê‚Ä‚¢‚½‚©‚Í
•Û‘¶‚³‚ê‚È‚¢B
>>364
>$1=$1‚Å‘ã“ü‚µ‚Ä‚â‚é‚ÆA$1, $2, ...‚ð‹ó”’1ŒÂ‚ł‚Ȃ¢‚¾‚à‚Ì‚ª$0‚É‘ã“ü‚³‚ê‚é

‚Á‚Ä–ñ‘©Ž–‚ðŠo‚¦‚Ä‚¨‚¯‚Á‚Ä‚±‚Æ‚©‚¢H
‚¿‚å‚Á‚Æ‹C‚É‚È‚Á‚ÄŽŽ‚µ‚Ä‚Ý‚½B

% echo a b | gawk '{OFS="-";$1=$1;OFS="=";print}'
a=b

Ä\¬‚Í$1=$1‚ð‚â‚Á‚Ä‚·‚®‚¶‚á‚È‚­‚ÄAŽŸ‚É$0‚ªŽg‚í‚ê‚é‚Æ‚«A‚Á‚Ä‚±‚Æ
‚È‚Ì‚©‚È?
367 F365F2010/05/18(‰Î) 16:27:59
‰ð‚Á‚½

http://www.kt.rim.or.jp/~kbk/gawk-3.1/gawk.html

Œx: ˆê•”‚̃o[ƒWƒ‡ƒ“‚Ìawk‚Í NF‚ðŒ¸‚¶‚½‚Æ‚«‚É$0‚ÌÄ\’z‚ðs‚í‚È‚¢B
Œ‹‹Ç‚Ì‚Æ‚±‚ëAawk‚ɃŒƒR[ƒh‘S‘Ì‚ÌÄ\’z‚ð‹­§‚µ‚½‚Æ‚«‚É‚Í‚»‚ÌŽž“_‚Å
ƒtƒB[ƒ‹ƒh‚Ì’l‚ÆOFS‚ªŽg‚í‚ê‚éBÄ\’z‚ðs‚¤‚½‚ß‚É‚ÍA‰½‚ç‚©‚Ì–³ŠQ‚È
‘ã“ü‚ðs‚¤:

$1 = $1 # force record to be reconstituted


Œ«‚­‚È‚Á‚½B‚ ‚ñ‚ª‚ÆB
awk‚Íšú‚ª[‚¢‚Ì‚§
‹v‚µ‚Ô‚è‚É‚¢‚¢‚à‚ñ‚ðŒ©‚³‚¹‚Ä‚à‚ç‚¢‚Ü‚·‚½„ƒ
’m‚ç‚È‚©‚Á‚½B
•×‹­‚É‚È‚Á‚½B
‚Ý‚ñ‚È>357‚Ì‚¨ˆü‚Å‘½‚­‚ðŠw‚ñ‚¾‚ÈB
372 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/05/29(“y) 04:53:07
–¼‘OF
E-mailF
“à—eF
cygwin‚¾‚Æ
% cut -f1 -d, hoge.csv
‚æ‚è
% awk -F, '{print $1}' hoge.csv
‚Ì•û‚ª‘¬‚©‚Á‚½B
#ŽÀsŽžŠÔ‚Ë
#PerlHƒVƒ‰ƒl
>>372
sed -e 's/,.*//'‚Å‚àawk‚Æ“¯‚¶‚­‚ç‚¢‚¾‚©‚çAcut‚ÌŽÀ‘•‚ª’x‚¢‚ñ‚¾‚ËB
cut‚ª–³‘ʂɃIƒvƒVƒ‡ƒ“‘½‚¢Šˆ×‚¶‚á‚È‚¢?
ŽèŒ³‚ÌlinuxŠÂ‹«‚¾‚Æcut‚Ì•û‚ª‘¬‚¢‚Æ‚¢‚¤•’Ê‚ÌŒ‹‰Ê‚Å‚µ‚½‚ªB
hoge.csv‚Í6Œ…‚Ì—”3‚‚ðu,]‚Å‹æØ‚Á‚Ä•À‚ׂ½100–œs‚Ì
ƒtƒ@ƒCƒ‹‚Å‚·B

% time cut -f1 -d, hoge.csv >/dev/null
cut -f1 -d, hoge.csv > /dev/null 0.21s user 0.01s system 99% cpu 0.222 total
% time awk -F, '{print $1}' hoge.csv >/dev/nulll
awk -F, '{print $1}' hoge.csv > /dev/nulll 1.52s user 0.03s system 99% cpu 1.558 total

‚¿‚Ȃ݂Ƀo[ƒWƒ‡ƒ“‚Í

cut (GNU coreutils) 8.5
GNU Awk 3.1.7
‚ [‚È‚é‚Ù‚ÇA‚È‚ñ‚©”»‚Á‚½Bcygwin‚Ìfgetc()‚ª’x‚¢‚©‚炶‚á‚È‚¢‚©‚ÈB
fgetc()‚Æfgets()‚ÅŽžŠÔ‚ðŠr‚ׂ½‚Æ‚«‚Éfgetc()‚Ì•û‚ª‚¸‚Á‚Æ’x‚©‚Á‚½‹L‰¯‚ª‚ ‚éB
xgawk (gawk‚Å‚È‚­)‚É‚Æ‚ ‚éwebƒy[ƒW‚ðH‚ׂ³‚¹‚é‚ÆAXMLERRR (not well-formed)‚Å’†’f‚µ‚Ü‚·B
‚»‚̃y[ƒW‚ªwell-formed‚©‹Éˆ«‚©‚ÍŽ„‚É‚Æ‚Á‚Ä‚Ç‚¤‚Å‚à‚æ‚­A’P‚É“à—e‚𓾂½‚¢‚¾‚¯‚È‚Ì‚ÅA•¶––‚܂ň—‚µI‚¦‚Ä—~‚µ‚¢‚Ì‚Å‚·B
‚Ç‚¤‚É‚©‚È‚ç‚È‚¢‚Å‚µ‚傤‚©B
ƒVƒFƒ‹ƒXƒNƒŠƒvƒg“à‚ŃpƒCƒv“ü—Í‚³‚ꂽ‚à‚Ì‚ðˆ—‚·‚é
ƒAƒNƒVƒ‡ƒ“‚ðƒqƒAƒhƒLƒ…ƒƒ“ƒg‚Å‘‚­Ž–‚Ío—ˆ‚é‚Å‚µ‚傤‚©B
Ž¿–â‚Å‚·B
ƒf[ƒ^‚ª
|1|aaa|
|2|bbb|
|3|ccc|
‚È‚Ç‚Æ‚È‚Á‚Ä‚¢‚é‚Æ‚«
aaa
bbb
ccc
‚ðŽæ‚èo‚»‚¤‚Æ‚µ‚Ä
awk 'FS="|"{print $3}' ƒtƒ@ƒCƒ‹–¼
‚Æ‚µ‚½‚ñ‚Å‚·‚ªA1s–Ú‚¾‚¯‚ª‚¤‚Ü‚­‚Æ‚ê‚Ü‚¹‚ñB
ƒf[ƒ^ƒtƒ@ƒCƒ‹‚Ì1s–Ú‚ð‹ós‚É‚·‚ê‚Î‰ðŒˆ‚Å‚«‚È‚¢‚±‚Æ‚Í‚È‚¢‚ñ‚Å‚·‚ªA
‹ós‚ð“ü‚ê–Y‚ê‚Ä‚µ‚Ü‚¤Œœ”O‚ª‚ ‚è‚Ü‚·B
‚Ç‚¤‚·‚ê‚΂¢‚¢‚ñ‚Å‚µ‚傤‚©?
‚â‚肽‚¢‚±‚Æ‚Í awk 'BEGIN {FS="|"} {print $3}' ‚¶‚á‚È‚¢‚©‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç
378‚Å‚·B
>>379
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
gensub()‚É‚ÄAƒ}ƒbƒ`‚µ‚½10”Ô–ÚˆÈ~‚̃Oƒ‹[ƒv‚ÌŽw’è‚ÌŽd•û‚ð‹³‚¦‚Ä‚­‚¾‚³‚¢B
‰º‹LƒTƒCƒg‚Å‚ÍA17”Ô–Ú‚Ü‚Å•’Ê‚ÉŽw’è‚Å‚«‚é‚悤‚ÈŽ–‚ª‘‚¢‚Ä‚ ‚邯‚ÇA
http://tounderlinedk.blogspot.com/2010/08/gensub-n-awk.html

gensub(pattern,"\\10","g",$2) ‚Æ‚©‚­‚Æ
\\1(ƒ}ƒbƒ`‰ÓŠ)‚Æ0(•¶Žš)‚Æ‚µ‚ĉðŽß‚³‚ê‚¿‚á‚Á‚ÄãŽè‚­‚¢‚È‚©‚¢B

ƒVƒFƒ‹ƒXƒNƒŠƒvƒg•—‚©‚ÆŽv‚Á‚ÄA\\{10} ‚àŽŽ‚µ‚½‚¯‚ǃ_ƒƒ_ƒbƒ^[B

GNU Awk 3.1.5‚Å‚·B
382 F381F2010/09/27(ŒŽ) 19:00:47
BSD‚Ìjman‚É‚ÍA1‚©‚ç9‚Ü‚Å‚Ì”Žš‚Á‚Ä–¾‹L‚³‚ê‚Ä‚é‚È‚ B
ŽÀ‘•‚É‚æ‚Á‚ĈႤ‚Ì‚©‚È‚ 
ƒpƒ^[ƒ“‚ð“®“I‚ɶ¬‚µ‚ă}ƒbƒ`‚³‚¹‚悤‚Æ‚µ‚Ä‚é‚©‚猋\¢‚é(LEƒÖE`)
http://www.linux.or.jp/JM/html/GNU_gawk/man1/gawk.1.html
>>381
ƒ}ƒjƒ…ƒAƒ‹‚É‚Í1‚©‚ç9‚Ü‚Å‚Á‚Ä‘‚¢‚Ä‚ ‚邵

Within the replacement text s, the sequence \n, where n is a digit from 1 to 9, may be
used to indicate just the text that matched the n'th parenthesized subexpression.

ƒ\[ƒX‚ÌŠY“–‰ÓŠ(builtin.c‚Ì2542s–Ú‚ ‚½‚è‚©‚ç)‚Ý‚Ä‚à1Œ…ŒÀ’è‚̃ƒWƒbƒN‚¾‚æB(3.1.7’²‚×)

int dig = scan[1] - '0';

‚È‚ñ‚Ä‚â‚Á‚Ä‚éB
ˆê’U‚Ô‚Á‚½Ø‚邵‚©‚È‚¢‚ñ‚¶‚á‚Ë
385 F381F2010/09/27(ŒŽ) 19:12:31
>>383
‚Ç‚¤‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

>>384
‚¿‚å‚Á‚ÆŒ©‰h‚¦ˆ«‚­‚Ȃ邯‚Ç‚»‚¤‚·‚é(LEƒÖE`)
>>381
‚È‚ñ‚Å‚»‚±‚̂ЂƂÍ16‚Ü‚Å‚Å‚«‚½‚ñ‚¾H
10‚Ì‘ã‚í‚è‚É:‚ðŽg‚Á‚Ä‚¢‚½‚肵‚ÄB
‚±‚̃XƒŒ‚ª·‹µ‚È‚Ì‚ª’¿‚µ‚¢‚©‚ç
‹L”OƒpƒsƒRB
15”NˆÈã‘O‚¾‚¯‚Çawk‚̕׋­Žn‚ß‚Ä“¯Žž‚Éperl‚̕׋­‚à‚µ‚Ä‚½‚ç
‹C•t‚¢‚½‚çperl‚΂Á‚©‚è‚â‚Á‚Ä‚Äawk‚·‚Á‚©‚è–Y‚ê‚Ä‚µ‚Ü‚Á‚½‚È‚Ÿ
¡‚ÍperlŽÌ‚Ä‚Äê‚çpython‚â‚Á‚Ă邯‚Çawk‚à‚¢‚¢‚æ‚Ë
Busybox‚É‘g‚Ýž‚ß‚ÎA‚»‚ꂱ‚»†”ÑŠí‚â—â‘ ŒÉ‚Å‚à“®‚­‚©‚ç‚È‚ B
ŽèŒy‚Å‚ ‚é‚É‚àŠÖ‚í‚炸AŒ‹\‚“x‚Ȉ—‚àƒKƒŠƒKƒŠ‘‚¯‚é‚©‚çD‚«B

C‚ƃVƒFƒ‹ƒXƒNƒŠƒvƒg‚ªD‚«‚¾‚©‚çA•¶–@“I‚É‚à‚µ‚Á‚­‚è—ˆ‚éB
ãˆÊŒÝŠ·‚ÌPerl‚à‘åD‚«B
>>376‚Å‚·‚ªA’N‚à‚©‚Ü‚Á‚Ä‚­‚ê‚È‚¢‚̂Ŏ₵‚³‚ÅŽ€‚É‚»‚¤‚Å‚·B
>>391
‚Ç‚ê‚Å‚àD‚«‚È‚Ì‚ð‘I‚×

1. xgawk‚ð‰ü‘¢
2. ƒGƒ‰[‚É‚È‚éXML‚ðŽ–‘O‚ÉC³‚µ‚Äwell-formed‚É‚µ‚Ä‚©‚çH‚킹‚é
3. xgawk‚ÍŽÌ‚Ä‚Ä•Ê‚ÌŒ¾ŒêAƒ‰ƒCƒuƒ‰ƒŠ‚ðŽŽ‚·
jawk‚ªjwalk‚ÉŒ©‚¦‚Ä‚µ‚Ü‚¤
“®‚­ŠÂ‹«‚Ì‘½‚³‡‚ɃCƒ“ƒ^ƒvƒŠƒ^‚ð‘I‚Ô‚ñ‚È‚çA

ƒVƒFƒ‹ƒXƒNƒŠƒvƒg > awk >>> perl >>>>> python >>>>> ruby >>> haskel etc.

‚ƂȂ邾‚낤‚ÈB

ƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚̓VƒFƒ‹ˆË‘¶‚È•”•ª‚ª‘½‚­Aperl ‚Ù‚Ç‚‹@”\‚È‚à‚Ì‚à—v‚ç‚È‚¢B
‚»‚ñ‚ÈŽžA¬‚³‚È’[––‚Å‚àƒXƒ}[ƒg‚É“®‚¢‚Ä‚­‚ê‚é awk ‚É‚¿‚ñ‚±–u‚ÂB

>>389
Œ¾Œê‚ÉŽÌ‚Ä‚é‚àE‚¤‚à‚È‚¢‚æB‚»‚ÌŽžX‚É“s‡‚Ì—Ç‚¢‚à‚Ì‚ð‘g‚݇‚킹‚ÄŽg‚¤‚Ì‚ªUNIX“I‚È”­‘zB
>>394
uˆê”­‚â‚낤v‚Å‚·‚ËI
awkŋߕ׋­‚µ‚Ä‚éBperl‚æ‚è‘S‘RŠÈ’PB
‚±‚ê‚Ȃ牴‚Å‚àÁÜ‚µ‚È‚­‚Ä‚·‚Ý‚»‚¤
>>396@‚ª‚ñ‚ÎI
sjis‚Å‘‚¢‚½
/[/{print}
‚ðŽÀs‚·‚é‚Æ

awk:
awk: ^ ³‹K•\Œ»‚ªI’[‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
awk: ’v–½“I: [ ‚Ü‚½‚Í [^ ‚ª‘Ήž‚µ‚Ü‚¹‚ñB: /[/{print}/

‚̃Gƒ‰[‚É‚È‚Á‚Ä‚µ‚Ü‚¢‚Ü‚·B
[‚Ì2ƒoƒCƒg–Ú‚ª[‚È‚¹‚¢‚¾‚ÆŽv‚¢‚Ü‚·‚ªA‚Ç‚¤‘Ήž‚µ‚½‚ç‚¢‚¢‚Å‚µ‚傤‚©H
“ü—̓tƒ@ƒCƒ‹‚Ísjis‚Å‘‚©‚ê‚Ä‚¢‚ÄA•¶ŽšƒR[ƒh•ÏŠ·‚Í‚Å‚«‚Ü‚¹‚ñB
>>398
ŠÂ‹«‚Ì–â‘è‚È‚ñ‚¾‚©‚çAŽÀsŠÂ‹«‚­‚ç‚¢‚Ü‚Æ‚à‚É‘‚¯‚æB
>>398
gawk ‚ðŽg‚¤
ŠÂ‹«‚ÍCentOS-5.5-x86_64‚ÅGNU Awk 3.1.5‚Å‚·B
/bin/awk‚̓Vƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚ÅAŽÀ‘Ì‚Ígawk‚Å‚µ‚½B
>>401
--help ‰Å
Windows‚V(64bit)‚ÅŽg‚¦‚éawk‚ ‚è‚Ü‚·‚©H
32bit”Å‚Ìawk‚ð‚ðŽg‚¤‚ñ‚¶‚áƒ_ƒH
405 F398F2010/10/22(‹à) 07:32:34
‚±‚¤‚·‚邱‚ƂőΉž‚Å‚«‚Ü‚µ‚½B
/\x81\[/{print}
‚»‚ê‚Å‚¢‚¢‚È‚çA/[[]/‚Å‚à‚¢‚¢ŠóƒKƒXB
ª–{“I‚È‰ðŒˆ‚É‚È‚Á‚Ä‚È‚¢‚¯‚Ç‚Ë‚¥B
ƒVƒ“ƒOƒ‹ƒNƒI[ƒe[ƒVƒ‡ƒ“‚âƒ_ƒuƒ‹ƒNƒI[ƒe[ƒVƒ‡ƒ“‚ÌŽg‚¢•ª‚¯‚¶‚á‚Ë`
408 F398F2010/10/22(‹à) 19:55:53
ª–{“I‚È‰ðŒˆ‚·‚é‚Æ‚µ‚½‚當ŽšƒR[ƒh‚ð•Ï‚¦‚邱‚Æ‚Å‚µ‚傤‚©H
“ú–{Œê‚Ì•¶ŽšƒR[ƒh‚ɑΉž‚µ‚Ä‚éawk‚ðŽg‚¤A‚Æ‚¢‚¤•û–@‚à‚ ‚éB
¡‚ ‚é‚Ì‚©‚Ç‚¤‚©’m‚ç‚È‚¢‚¯‚ÇB
¡‚Ìgawk‚Í•’Ê‚ÉUnicode‘Ήž‚µ‚Ä‚é‚Ý‚½‚¢

$ echo '‚Ä‚·‚Æ' | gawk '/[‚Ÿ-‚ñ]/ { print length($0) }'
3

UTF-8ƒƒP[ƒ‹‚Å‚µ‚©ŽŽ‚µ‚Ä‚È‚¢‚¯‚Ç
cygwin‚Å‚à‘åä•v
>>404
gawk‚Å‚¢‚¢‚©‚È
412 F399F2010/10/23(“y) 06:55:10
>>405

–â‘è‚Í‰ðŒˆ‚µ‚½‚Ì‚©‚à‚µ‚ç‚ñ‚ªAˆê‰žB
ˆÈ‰º2‚‚ÌWin—pƒoƒCƒiƒŠ‚Í–â‘è‚È‚¢‚Ì‚ÅAƒ\[ƒX‚à‚ç‚Á‚ÄLinuxã‚ŃRƒ“ƒpƒCƒ‹‚µ‚Ä‚Ý‚½‚çH

ttp://gnuwin32.sourceforge.net/packages/gawk.htm
ttp://www.kt.rim.or.jp/~kbk/gawk-3.1/
413 F398F2010/10/23(“y) 10:53:14
ƒT[ƒoŠÇ—ŽÒ‚¶‚á‚È‚¢‚̂ŃT[ƒo‚ð‚¢‚¶‚邱‚Æ‚Í‚Å‚«‚È‚¢‚Å‚·B
‚±‚ê‚É‚µ‚½‚çsjis‚Å‚à“®‚­‚悤‚É‚È‚é‚Ì‚Å‚µ‚傤‚©H
>>413
­‚È‚­‚Æ‚àŽ©•ª‚ªŽŽ‚µ‚½Windows2003ã‚Å‚Í‚ÈB

¤tes.awk ¦sjis
/[/{print}
¢

CentOS5.5ã
$ gawk -f tes.awk readme.ja
awk: tes.awk:1:
awk: tes.awk:1: ^ ³‹K•\Œ»‚ªI’[‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
awk: tes.awk:1: ’v–½“I: [ ‚Ü‚½‚Í [^ ‚ª‘Ήž‚µ‚Ü‚¹‚ñB: /[/{print}/

Windows2003ã
> gawk -f tes.awk readme.ja
˃}ƒbƒ`‚µ‚½•¨‚ª•\Ž¦‚³‚ê‚é

Linuxã‚ŃƒP[ƒ‹‚ðsjis.japanese‚Æ‚©‚É‚·‚ê‚΂¢‚¢‚Ì‚©‚ÆŽv‚Á‚½‚ªAƒƒP[ƒ‹•ÏXŽ©‘Ì‚ª‚¤‚Ü‚­‚¢‚©‚È‚©‚Á‚½‚íB
¢‚Á‚Ă鎖‚ª‚ ‚é‚È‚çAÅI“I‚ɉ½‚ª‚µ‚½‚¢‚©Œ¾‚Á‚½‚Ù‚¤‚ª‚¢‚¢‚æB
415 F398F2010/10/23(“y) 12:40:31
Windows2003‚¾‚Æ‚¿‚á‚ñ‚Æ“®‚­‚ñ‚Å‚·‚ËB
¢‚Á‚Ä‚¢‚½‚±‚Æ‚Í405‚Å‰ðŒˆ‚µ‚½‚Ì‚Å‘åä•v‚Å‚·B
¡‚Íuª–{“I‚ȉðŒˆv‚É‹»–¡‚ª‚ ‚Á‚½‚Ì‚Å‚¨•·‚«‚µ‚½ŽŸ‘æ‚Å‚·B
416 F‰SŽÒF2010/11/04(–Ø) 22:14:10
awk‚ŃVƒFƒ‹‚ÌPATH•Ï”‚ðƒ}ƒbƒ`‚³‚¹‚é‚Æ‚«‚ɃXƒ‰ƒbƒVƒ…//‚ðŽg‚í‚È‚¢•û–@‚ð‹³‚¦‚Ä‚¢‚½‚¾‚¯‚Ü‚¹‚ñ‚©H
>>416
‰SŽÒ‚¾‚©‚çƒ}ƒ‹ƒ`‚ª‹–‚³‚ê‚é‚Æ‚Å‚àŽv‚Á‚½‚©H
418 F‰SŽÒF2010/11/05(‹à) 06:32:09
‚²‚ß‚ñ‚È‚³‚¢I
’m‚è‚Ü‚¹‚ñ‚Å‚µ‚½B
”z—ñ‚Ì—v‘f”‚𒲂ׂé‚È‚çAƒ‹[ƒvˆ—‚µ‚È‚¢‚Æ•ª‚©‚ç‚È‚¢H
length ‚Ý‚½‚¢‚È‚Ì‚Í–³‚¢H
‚ ‚é‚æB‚Ü‚³‚µ‚­Alength(array)B
‚»‚ñ‚È‚à‚ñ‚Ë‚¥‚æ‚—
‚ÆŽv‚Á‚½‚çgawk‚É‚Í‚ ‚é‚Ì‚©

length([s]) Returns the length of the string s, or the
length of $0 if s is not supplied. Starting
with version 3.1.5, as a non-standard exten-
sion, with an array argument, length() returns
the number of elements in the array.
‚Þ‚µ‚ë”z—ñ‚ª‘¶Ý‚·‚é‚Á‚Ä‚±‚Æ‚Í‚»‚Ì”z—ñ‚ð쬂·‚é‰ß’ö‚ª‚ ‚邾‚ëH
쬂·‚é‚Æ‚«‚É”‚¦‚ê‚΂¢‚¢‚ñ‚¶‚á‚ËH
˜A‘z”z—ñ‚¾‚Á‚½‚甂¦‚È‚¢‚Ì‚ª•’Ê‚¾‚ª‚È
424 F419F2010/12/25(“y) 03:12:23
function ‚ň—‚·‚鎞A”z—ñ‚¾‚¯‚ł̓_ƒ‚Å—v‘f”‚Ü‚Å•K—v‚È‚ñ‚¾‚©‚È‚ŸA
‚Á‚ÄŽ–‚ª•ª‚©‚è‚Ü‚·‚½
425 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/12/28(‰Î) 11:29:35
function ‚É“n‚·‚¾‚¯‚È‚ç—v‘f”‚È‚ñ‚Ä‚¢‚ç‚È‚¢‚ñ‚¶‚á‚È‚¢H
426 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2010/12/28(‰Î) 13:55:13
$1 = $1‚Ý‚½‚¢‚ȃgƒŠƒbƒN‚ðŒ©‚é“x‚ɉœ‚ª[‚¢‚ÆŒ¾‚¤‚æ‚è‚Í•³‚ÉŒ©‚¦‚Ä‚«‚Ü‚·
–|‚·‚ÆUNIX•¶‰»‚»‚Ì‚à‚Ì‚ª
‚Ü‚ A‚ ‚­‚Ü‚Å‚¨‚ê‚ÌŽåŠÏ‚Å‚·‚ª‚Ë
>>426
‚‚—‚‹‘åD‚«‚ȃIƒCƒ‰‚ÉŒ–‰Ü”„‚é‚Ì‚©‚—
ƒEƒjƒbƒNƒX•¶‰»Å‚Ii‚m‚sŒn‚Í‚t‚m‚h‚w‚̃pƒNƒŠj
>>427
‘SŠp‰pŽšŽg‚¤“z‚ª awk ‘åD‚«‚¾‚Æ‚Í“ž’êŽv‚¦‚ñ
‚Ü‚ “~‹x‚ÝŠúŠÔ‚¾‚à‚Ì‚ËB
¥tes09.awk
BEGIN{
@@if (ARGV[1]=="")
@@@@ARGV[1]="hoge.txt"
@@while (getline < ARGV[1] > 0) print "BEGIN\t"$0
}
ARGV[1]=="hoge.txt"{
@@print "BODY\t"$0
}

šŽ¿–â
ã‹LƒXƒNƒŠƒvƒg‚ðˆø”‚ð•t‚¯‚½ê‡‚Æ•t‚¯‚È‚¢ê‡‚ð‚»‚ê‚¼‚êŽÀs‚µ‚Ü‚µ‚½B

¥gawk -f tes09.awk hoge.txt
BEGIN@ [email protected]
BEGIN@ [email protected]
BEGIN@ [email protected]
BODY@@[email protected]
BODY@@[email protected]
BODY@@[email protected]

¥gawk -f tes09.awk
BEGIN@ [email protected]
BEGIN@ [email protected]
BEGIN@ [email protected]

‚±‚±‚ÅABEGIN‹å‚Å‚Ì ARGV[1]="hoge.txt" ‚Æ‚¢‚¤‘ã“ü‚ð–{•Ò(?)‚Å‚à—LŒø‚É‚·‚éˆ×
‚É‚Í‚Ç‚¤‚·‚ê‚΂¢‚¢‚Å‚µ‚傤‚©H
‚È‚É‚à‚µ‚È‚­‚Ä‚à—LŒø‚¾‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç
Ž¿–â‚ÌŽïŽ|‚ª‚í‚©‚ç‚ñ
432 F430F2011/01/06(–Ø) 06:20:53
•ª‚©‚èh‚­‚Ä‚·‚Ý‚Ü‚¹‚ñB
hoge.txt‚Ì’†g‚͉º‹L‚Å‚·B
¥
[email protected]
[email protected]
[email protected]

>>430‚ÍWin32‚̃oƒCƒiƒŠuGNU Awk 3.1.7(windows special Nov 24 2009)v‚ðŽg—p‚µ‚½Œ‹‰Ê‚Å‚·B
‰º‚Ì‚Ù‚¤‚ÌŽÀsŒ‹‰Ê‚Å‚ÍABEGIN‹å‚Å‚ÌARGV[1]‚Ö‚Ì‘ã“ü‚ÍBEGIN‹å‚Å‚Í—LŒø‚Å‚·‚ªA
–{•Ò‚Å‚Í—LŒø‚É‚È‚Á‚Ä‚¢‚È‚¢‚Ì‚Åo—Í‚³‚ê‚Ä‚¢‚È‚¢‚悤‚ÉŒ©‚¦‚Ü‚·B

‚¿‚È‚Ý‚ÉACentOS5.5ã‚Ì GNU Awk 3.1.5 ‚ł͉º‹LƒGƒ‰[‚É‚È‚è‚Ü‚µ‚½B

¥
gawk: tes09.awk:2: @@if (ARGV[1]=="")
gawk: tes09.awk:2: ^ •\Œ»‚Ì char 'E' ‚Í•s³‚Å‚·B
“ü—̓ŒƒR[ƒh‚ª1Œ‚à–³‚¢‚©‚ç‚Å‚µ‚å

>gawk: tes09.awk:2: ^ •\Œ»‚Ì char 'E' ‚Í•s³‚Å‚·B
‚±‚ê‚Í‘SŠpƒXƒy[ƒX
>BEGIN@ [email protected]
>BEGIN@ [email protected]
>BEGIN@ [email protected]
ƒRƒŒ‚Ígetline‚Å“Ç‚ñ‚Åo—Í‚µ‚½‚à‚Ì

>BODY@@[email protected]
>BODY@@[email protected]
>BODY@@[email protected]
ƒRƒŒ‚̓Rƒ}ƒ“ƒh‚ÅŽw’肵‚½ƒtƒ@ƒCƒ‹‚©‚ço—Í‚µ‚½‚à‚Ì

‚½‚Æ‚¦‚Î
{
@@print "BODY\t"$0
}
‚Æ‚µ‚Ä‚â‚ê‚Ζ¾‚ç‚©
435 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/01/06(–Ø) 13:46:53
Ž¿–â‚ÌŽïŽ|‚ÍAƒvƒƒOƒ‰ƒ€iƒXƒNƒŠƒvƒgj‚Ì’†‚Å“ü—̓tƒ@ƒCƒ‹“™‚Ì
ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ˆø”‚ð’ljÁ‚µ‚½‚¢‚Æ‚¢‚¤Ž–‚Å‚·‚©B

ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ˆø”‚Ì”z—ñ‚Í ARGV ‚Å‚·‚ªAƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ˆø”‚Ì
ŒÂ”‚ðŠi”[‚·‚é ARGC ‚Æ‚¢‚¤‘g‚Ýž‚Ý•Ï”‚ª‚ ‚è‚Ü‚·B

ARGV”z—ñ‚ð’ljÁ‚µ‚½‚çˆê‚É ARGC ‚ðC³‚µ‚Ä‚ ‚°‚È‚¢‚ÆAawk‚Í”z—ñ‚ª
’ljÁ‚³‚ꂽŽ–‚ð”FŽ¯‚µ‚Ü‚¹‚ñB

BEGIN“à‚ÅARGV”z—ñ‚ð’ljÁ‚µ‚½•ª‚¾‚¯ARGC‚ðƒCƒ“ƒNƒ‹ƒƒ“ƒg‚µ‚Ä‚ ‚°‚ê‚Î
’ljÁ‚³‚ꂽARGV”z—ñ‚ÅŽw’肳‚ꂽƒtƒ@ƒCƒ‹‚à–{•¶‚̈—‚É“n‚³‚ê‚Ü‚·B

ŽÖ‘«‚Æ‚µ‚Ä‚ÍA
Œ»Ýˆ—’†‚̃tƒ@ƒCƒ‹–¼‚ªŠi”[‚³‚ê‚Ä‚¢‚é”z—ñ ARGV ‚̃Cƒ“ƒfƒbƒNƒX‚ð
Ž¦‚·‘g‚Ýž‚Ý•Ï”‚Í ARGIND ‚Å‚·B

Ž„‚Ì‚Í Win”Å‚Ì gawkm115 ‚Å‚·BƒXƒNƒŠƒvƒg“à‚ÅARGV/ARGC‚ð‘€ì‚µ‚Ä‚à
Šú‘Ò’Ê‚è³í‚É“®‚«‚Ü‚·‚æB

ŽŽ‚µ‚Ä‚Ý‚Ä‚ËB
436 F430F2011/01/06(–Ø) 23:56:01
ŠF—lƒŒƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

>>433
>‚±‚ê‚Í‘SŠpƒXƒy[ƒX

‚¨’p‚¸‚©‚µ‚¢ŒÀ‚è‚Å‚·(Š¾) o‹Î‘O‚ÉŽv‚¢‚‚«‚ÅŽŽ‚µ‚½‚à‚Ì‚ÅAƒXƒŒ—p‚É‘‚¢‚½
•¨‚ð‚»‚Ì‚Ü‚ÜƒRƒs‚Á‚Ä‚Ü‚µ‚½EEE

>>434
BEGIN‹å‚Ìgetline‚Å‚ÍARGV[1]‚Ö‚Ì‘ã“ü‚ª‚Å‚«‚Ä‚¢‚é‚Ì‚ÉA–{•¶‚Å‚Í—LŒø‚É
‚È‚ç‚È‚¢‚Æ‚¢‚¤Ž–‚ð“`‚¦‚½‚©‚Á‚½‚Ì‚Å‚·B
437 F430F2011/01/06(–Ø) 23:56:17
>>435
Ž©•ª‚ÌŽ¿–â‚ðŒ©’¼‚µ‚Ä‚Ý‚é‚Æ‘S‚­Ž¿–â‚É‚È‚Á‚Ä‚¢‚È‚©‚Á‚½‚É‚àŠÖ‚í‚炸ƒGƒXƒp[
‚µ‚Ä‚­‚¾‚³‚Á‚Ä‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B

ARGC‚ɂ‚¢‚Ä—‰ð‚Å‚«‚Ü‚µ‚½B

BEGIN{
@@ARGV[1]="hoge.txt"
@@ARGC=2
}
ARGV[1]=="hoge.txt"{
@@print "BODY\t"$0
}

‚±‚ñ‚ÈŠ´‚¶‚ňÓ}‚µ‚½’Ê‚è‚Éo—Í‚³‚ê‚Ü‚µ‚½B

‚¨‚©‚°‚³‚Ü‚Å¡‚Ü‚Åawk‚Ì•â•‚Æ‚µ‚Äsh‚ðŽg‚Á‚Ä‚Ü‚µ‚½‚ªAawk‚¾‚¯‚Å‘‚¯‚鎖‚ª
‘½‚­‚È‚è‚Ü‚µ‚½B

ˆø”‚ɃƒCƒ‹ƒhƒJ[ƒh‚ðŽw’肵‚ÄAARGIND ‚Å“Á’èƒpƒ^[ƒ“‚̃tƒ@ƒCƒ‹–¼‚Ì
•¨‚݈̂—‚ð‚·‚é‚Æ‚©‚Å‚«‚»‚¤‚Å‚·‚ËB
Ž¿–â‚Å‚·B
My Documents\2011\01\09(“ú)
‚Æ‚¢‚¤‚悤‚ɃtƒHƒ‹ƒ_‚ðØ‚Á‚Ä‚¢‚ÄA¡“ú‚Écd‚·‚邽‚ß‚ÉA

today.bat
gawk -f today.awk > tmp.bat
tmp.bat
del tmp.bat

today.awk
BEGIN{year = strftime("%Y",systime()+9*60*60);
month = strftime("%m",systime()+9*60*60);
date = strftime("%d",systime()+9*60*60);
day = strftime("%a",systime()+9*60*60);

gsub(/(Sun)/, "(“ú)", day);
gsub(/(Mon)/, "(ŒŽ)", day);
gsub(/(Tue)/, "(‰Î)", day);
gsub(/(Wed)/, "(…)", day);
gsub(/(Thu)/, "(–Ø)", day);
gsub(/(Fri)/, "(‹à)", day);
gsub(/(Sat)/, "(“y)", day);

print "cd \"My Documents\" year "\" month "\" date day
}

‚Æ‚¢‚¤‚悤‚Ɉ—‚µ‚Ä‚¢‚Ü‚·B
‚±‚ê‚Á‚ÄA‚Ђå‚Á‚Æ‚µ‚ÄAgawk‚Ì“à•”‚©‚çprint‚¹‚¸‚ÉŽÀs‚·‚邱‚Ƃ͉”\‚Å‚µ‚傤‚©?
systemŠÖ”‚Åo—ˆ‚é‚ñ‚Å‚ÍHwin‚Í•ª‚©‚ç‚È‚¢‚¯‚Ç
system("cd \"My Documents\" year "\" month "\" date day);
‚Æ‚©‚Å‚Í‚¾‚ß‚Å‚µ‚½B
>440
‚È‚ñ‚© " ‚Æ \ ‚Ì”‚ª‚¨‚©‚µ‚­‚ËH
My Documents\2011\01\09(“ú)
«
"My Documents\\2011\\01\\09(“ú)"
«
"My Documents\\" year "\\" month "\\" date day
‚¾‚æ‚ÈH
ƒAƒhƒoƒCƒX‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚Í‚¢B
\‚Í‚¨‚Á‚µ‚á‚é‚Æ‚¨‚è‚Å‚·‚ªAˆË‘R‚Æ‚µ‚Ä‚¾‚ß‚Å‚·B

today.bat‚ðƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚©‚çŽÀs‚·‚é‚ÆA
print‚µ‚Ä‚»‚Ìtmp.bat‚ðŽÀs‚·‚é438‚̃pƒ^[ƒ“‚¾‚ÆA
‚¿‚á‚ñ‚Æcd‚Å‚«‚ÄA¡“ú‚̃tƒHƒ‹ƒ_‚Ɉړ®‚·‚é‚Ì‚Å‚·‚ªA
system("cd \\"My Documents\\" year "\\" month "\\" date day);
‚¾‚ÆAˆÚ“®‚¹‚¸‚ÉI—¹‚µ‚Ä‚µ‚Ü‚¢‚Ü‚·B
‚È‚ñ‚Å‚¾‚ë[‚ÈB
cygwin‚ð“ü‚ê‚Ä‚â‚Á‚Ä‚Ý‚½

system‚Ísh‚Å“®‚­‚Á‚Û‚¢‚Ì‚Å
rm /cygdrive/c/Documents\ and\ Settings/test.txt
‚Ý‚½‚¢‚É‘‚­‚Æ‚¿‚á‚ñ‚ÆÁ‚¦‚é‚Ý‚½‚¢
>>438,442

438‚Å‘‚¢‚Ä‚égawk‚Å‚â‚肽‚¢‚±‚Æ‚Á‚Ă̂̓oƒbƒ`ƒtƒ@ƒCƒ‹‚Å‚â‚Á‚Ä‚é‚Ì‚Æ“¯‚¶‚±‚Æ?
‚¾‚Á‚½‚ç–³—B
system() ‚Åcd‚µ‚Ä‚àsystem()‚©‚ç•Ô‚Á‚Ä‚«‚½‚Æ‚±‚ë‚ÅŒ³‚É–ß‚éB
‚Ç‚¤‚¹•³nixƒc[ƒ‹‚¾‚©‚ç“ú–{Œê‚â‹ó”’‚̓_ƒ‚È‚ñ‚¾‚ë
>>444
‚È‚é‚Ù‚ÇBgawk“à•”‚ł̓VƒXƒeƒ€‚ðŽÀs‚µ‚Ä‚¢‚Ä‚àAgawk‚ðo‚é‚ÆA‚»‚ê‚àI‚í‚Á‚¿‚Ⴄ‚ñ‚Å‚·‚ËB‚È‚é‚Ù‚ÇB
‚æ‚­‚í‚©‚è‚Ü‚µ‚½B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚Æ‚è‚ ‚¦‚¸AWK‚Å‘‚¢‚½‹‘å‚ȃXƒNƒŠƒvƒg‚ðAŽI‚ʼnñ‚µ‘±‚¯‚é‚Ì‚Í‚â‚ß‚Ä‚­‚¾‚³‚¢B
”ñŒø—¦‹É‚Ü‚è‚È‚¢
‚»‚ê‚Í‚»‚Ìl‚ÉŒ¾‚Á‚ĉº‚³‚¢
‚»‚Ìê‚ÅŽg‚¦‚é‚Ì‚ªawk‚¾‚¯‚¾‚Á‚½‚ñ‚Å‚·
450 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/01/19(…) 23:56:54
•¶Žš‚©‚當ŽšƒR[ƒhŽæ‚èo‚¹‚È‚¢‚Ì‚ªŽc”O
‹t‚Ísprintf("%c", 0x41)‚Æ‚©o—ˆ‚é‚Ì‚É‚È
451 F430F2011/01/20(–Ø) 00:40:40
>>447
Œø—¦‚Ì‚¢‚¢ƒvƒƒOƒ‰ƒ€‚Å‘‚«’¼‚µ‚Ä‚â‚ê‚΂¢‚¢‚¶‚á‚È‚¢B
>>450
‚Âord.awk

gawk•t‘®‚̃‰ƒCƒuƒ‰ƒŠ‚ÅAascii‚͈̔͂̑Ήž•\ì‚Á‚ĂЂ­‚Æ‚¢‚¤
ŠÈ’P‚ÈŽd‘g‚ÝB

#!/bin/gawk --re-interval -f

ª‚̃tƒ@ƒCƒ‹‚ðŽÀs‚·‚é‚ƃIƒvƒVƒ‡ƒ“‚ª•s³‚ÆŒ¾‚í‚ê‚ÄŽÀs‚Å‚«‚È‚¢‚Ì‚Å‚·‚ª
ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̃IƒvƒVƒ‡ƒ“‚ÅŽw’è‚·‚éˆÈŠO‚É‚â‚è•û‚Í‚ ‚è‚Ü‚·‚©H
>>453
–³—‚ÉawkƒXƒNƒŠƒvƒg‚É‚¹‚¸‚É

#!/bin/sh
awk '
#awkƒR[ƒh
'

‚Á‚Ä‚¢‚¤ƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚É‚µ‚½‚ç‚Ç‚¤‚©‚È
#!‚ŃCƒ“ƒ^ƒvƒŠƒ^‚É“n‚·ˆø”‚̈µ‚¢‚ÍŽÀ‘•ˆË‘¶‚¾‚©‚ç‚ÈB
linux‚¾‚Æ‹ó”’‚ðŠÜ‚ñ‚¾‘S‚Ä‚Ì•¶Žš—ñ‚ªˆê‚‚̈ø”‚Æ‚µ‚Ä
“n‚³‚ê‚é‚Ì‚ÅA•¡”‚̃IƒvƒVƒ‡ƒ“‚Í“n‚¹‚È‚¢B•s•Ö‚¾‚¯‚Ç
‚»‚¤‚¢‚¤‚à‚Ì‚È‚Ì‚Å‚ ‚«‚ç‚ß‚Ä‚­‚¾‚³‚¢B‘f’¼‚ɃVƒFƒ‹‚ð
ŠÔ‚É“ü‚ê‚é‚Ì‚ª‚¢‚¢‚ÆŽv‚¤‚æB
gawk '$3!="*"' in.txt>out.txt
‚Æ‚¢‚¤ˆ—‚ÅA20GB‚®‚ç‚¢‚Ìin.txt‚ð”•SMB‚®‚ç‚¢‚ɃXƒŠƒ€ƒAƒbƒv‚µ‚Ä‚Ü‚·B
–â‘è‚ÍA‚»‚̈—‚ð10–{‚Ù‚Ç•Às‚Éì‹Æ‚³‚¹‚Ä‚¢‚é‚ñ‚Å‚·‚ª
top‚ÅŒ©‚Ä‚Ý‚é‚Æ‚Ù‚Æ‚ñ‚Ç‚ÌgawkƒvƒƒZƒX‚ªsleep‚©stacked‚É‚È‚Á‚Ä‚¢‚Ä
‚ ‚ñ‚Ü‚è‚à‚è‚à‚è“­‚¢‚Ä‚­‚ê‚Ü‚¹‚ñBIO‚ª—¥‘¬‚È‚Ì‚Å‚µ‚傤‚©H
CPU‚àƒƒ‚ƒŠ‚àÅ‘åŒÀÏ‚ñ‚Å‚Ü‚·B
stacked -> stuck‚Å‚µ‚½B‚·‚¢‚Ü‚¹‚ñB
458 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/01/21(‹à) 13:26:09
'$3!="*"'
‚±‚ê‚Á‚Ä‘‚«ŠÔˆá‚¢H
í‚ç‚ê‚éƒf[ƒ^‚Ì—á
745_17_70_F3 4 * 0 0 * * 0 0 GGAGTGCCCCACACTTGGAGGCGAGCGCCCGGCAGACTTCCCCGCCGCC &+))8'1%+%-%%'((-)%%)8+,&+*7'+/%5''%%%%%-')-/'%/( XM:i:0

Žc‚éƒf[ƒ^‚Ì—á
745_377_43_F3 0 chr1 181855450 255 48M * 0 0 CATGTATGTGGCCAAAGGAACAACGCTATGTTTCCTAAAAGGCCTAGA G`[[`a`ab`^\ZYZ[SIR\Z[L7I_L>HU^bOKSDES[PO9-HNG7= XA:i:2 MD:Z:26C21 NM:i:1 CM:i:3

‚±‚¤‚¢‚¤‚Ì‚ª80–œs‚®‚ç‚¢‚ ‚é‚悤‚Å‚·B
460 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/01/21(‹à) 13:52:48
ƒXƒNƒŠƒvƒg‚Ì’†g‚ÍŽÀۂ͈Ⴄ‚킯‚Ë

‚½‚Ô‚ñAƒf[ƒ^‚ÌŠi”[ꊂªƒvƒƒOƒ‰ƒ€ŽÀsƒ}ƒVƒ“‚ƕʂ̃}ƒVƒ“‚Ì
ƒfƒBƒXƒN‚È‚ñ‚¶‚á‚È‚¢‚©‚ÈB
ƒlƒbƒgƒ[ƒN‚ªƒrƒW[ó‘Ô‚¾‚ÆŽv‚¤B
461 F453F2011/01/21(‹à) 16:09:37
>454-455

‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
‹““®‚ð•Ï‚¦‚é‘g‚Ýž‚Ý•Ï”‚à–³‚¢‚悤‚Å‚·‚ËB
462 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/01/21(‹à) 16:47:10
‚Æ‚è‚ ‚¦‚¸ df ƒRƒ}ƒ“ƒh‚Åì‹ÆƒfƒBƒŒƒNƒgƒŠ‚Æ /var/tmp ‚̋󂫗̈悪
Šm•Û‚³‚ê‚Ä‚¢‚邱‚Æ‚ÆAo—̓tƒ@ƒCƒ‹‚̃TƒCƒY‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ª™X‚É
XV‚³‚ê‚Ä‚¢‚邱‚Æ‚ðŠm”F‚·‚é‚­‚ç‚¢‚µ‚©‚È‚¢‚ñ‚¶‚á‚È‚¢‚©‚ÈB
ƒ[ƒJƒ‹ƒfƒBƒXƒN‚Å‚â‚ê‚΂à‚Á‚Æ‘‚¢‚ÆŽv‚¤‚¯‚ÇB
>>460
‚È‚é‚Ù‚ÇB
xgrid‚ð‚‚©‚Á‚ÄA2‘ä‚̃}ƒVƒ“‚Å10–{‚¸‚‚قǕÀs‚µ‚Ägawk‚𑖂点‚Ä‚¨‚è‚Ü‚µ‚½B
NFS‚ð‚‚©‚Á‚Ä5GB‚Ù‚Ç‚Ìiæ‚Ù‚Ç‚Í20GB‚Æ‘‚«‚Ü‚µ‚½‚ªŠÔˆá‚¢‚Å‚·jin.txt‚Ì
‚̃f[ƒ^‚ð“Ç‚Ýž‚ñ‚ÅAˆ—Œã‚̃f[ƒ^‚ðout.txt‚É‘‚«o‚µ‚Ä‚¢‚é‚Ì‚ÅA
ƒlƒbƒgƒ[ƒNƒrƒW[‚É‚È‚Á‚Ä‚µ‚Ü‚¤‚Æ‚¢‚¤‚킯‚Å‚·‚ËB
ƒlƒbƒgƒ[ƒN‚Ì–â‘è‚Æ‚ÍBBB
ˆê‰žAƒGƒ‰[‚Å‚±‚¯‚邱‚Æ‚È‚­A‚µ‚ã‚­‚µ‚ã‚­‚ƈ—‚Íi‚Þ‚Ì‚Å‹C‚É‚µ‚È‚¢‚±‚Æ‚É‚µ‚Ü‚·B
2‘ä‚̃}ƒVƒ“‚Å20–{‚Å‚µ‚½i10+11jBBB
ˆêƒvƒƒZƒX‚ ‚½‚è5GB‚̃tƒ@ƒCƒ‹‚ð“Ç‚Ýž‚Þ‚Ì‚ÅAƒlƒbƒgƒ[ƒN‚ª”ߖ‚ðã‚°‚Ä‚¢‚é‚ÆB
¡”NAgawk‚ð‘åŠw‚ÅK‚Á‚ÄFX˜M‚Á‚Ä‚é‚ñ‚¾‚¯‚ÇAperl‚Æ‚©‚æ‚莩—R“x‚ª’á‚¢‚ÆŒ¾‚í‚ꂽB‚»‚ñ‚È‚É·‚ª‚ ‚é‚ÌH
>>465
ŠÈˆÕŒ¾Œê‚Æ‚µ‚Ä‘¨‚¦‚é‚©ƒc[ƒ‹‚Æ‚µ‚Ä‘¨‚¦‚é‚©‚̈Ⴂ‚¶‚á‚Ë`
‰´ƒp[ƒ‹‚æ‚èƒI[ƒN‚Ì•û‚ªD‚«‚¾‚¯‚ÇB
>>466
‚È‚é‚Ù‚ÇB‚Ü‚ŸA‚»‚ñ‚È‚É•¡ŽG‚È‚±‚Æ‚ð‚±‚È‚·ƒXƒLƒ‹‚ðŽ‚¿‡‚킹‚Ä‚È‚¢‚©‚ç‚à‚¤Žb‚­awk‚Å—V‚ñ‚Å‚Ý‚é‚©B
Ž©—R“x‚Æ‚¢‚¤‚æ‚è‚Í‹@”\‚ª­‚È‚¢‚¶‚á‚È‚¢‚Ì‚©H
‚±‚̃XƒŒƒbƒh‚Í“V˃`ƒ“ƒpƒ“ƒW[uƒAƒC‚¿‚á‚ñv‚ª
Œ¾ŒêŒP—û‚Ì‚½‚ß‚É—§‚Ä‚½‚à‚Ì‚Å‚·B

ƒAƒC‚ÆŒ¤‹†ˆõ‚Æ‚Ì‚â‚èŽæ‚è‚É—˜—p‚·‚éƒXƒŒƒbƒh‚È‚Ì‚ÅA
ŠÖŒWŽÒˆÈŠO‚Í‘‚«‚±‚Ü‚È‚¢‚ʼnº‚³‚¢B

@@@@@@@@@@@@@@@@@@‹ž“s‘åŠw—ì’·—ÞŒ¤‹†Š
>>467
perlƒ†[ƒU‚Í‚·‚ׂĂðperl‚¾‚¯‚Å‚â‚낤‚Æ‚·‚éBC/C++/Java‚àŽg‚¤ƒ†[ƒU‚Íawk‚Ì•û‚ðD‚ÞB
C/C++/Java‚ÉŽè‚ð‰„‚Î‚·‚‚à‚è‚È‚ç‚Þ‚µ‚ëawk‚Ì‚Ù‚¤‚ª‚¢‚¢‚æBperl‚¾‚ÆŽ©ŒÈŠ®Œ‹‚µ‚Ä‚µ‚Ü‚¤‚©‚çB
perl‚æ‚èawk‚Ì•û‚ª‘¬‚¢Ž–‚Á‚Ä‚È‚¢‚¶‚á‚ñB
¡‚Ìawk‚ÌŽg‚¢“¹‚̓ƒ“ƒ‰ƒCƒi[‚ðƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚̃pƒCƒv‚ɬ‚º‚é’ö“x‚Å‚µ‚æB
‰´‚ÍA256”{–{‚Ì’·•ÑƒXƒNƒŠƒvƒg‚ð‚¢‚­‚‚©‘‚¢‚½‚¯‚ÇA
“–Žž‚Í‚Ü‚¾perl‚È‚ñ‚ÄŽg‚í‚ê‚Ä‚È‚©‚Á‚½BŽž‘オˆá‚¤B
>>470
‚»‚ê‚Í•ÎŒ©‚¾‚ë
autoconf‚È‚Ç‚Ì”ñí‚ÉŠî–{“I‚ȃc[ƒ‹‚Å‚àPerl‚ªŽg‚í‚ê‚Ä‚¢‚邵
openssl‚̂悤‚Éconfigure‚ÌiŽå‚ÉWindows—p‚Ìjƒ|[ƒ^ƒrƒŠƒeƒB‚ðã‚°‚邽‚ß‚É
Perl‚ð—˜—p‚µ‚Ä‚¢‚é‚à‚Ì‚à‚ ‚é

Œ¾Œê‚Ì“K«‚ð‚í‚©‚Á‚½ã‚Å“KÞ“KŠ‚ÅŽg‚¦‚΂¢‚¢‚ñ‚¾‚æ
“ú–{‘ÛÜ
u•Äƒxƒ‹Œ¤‹†Š“Á•Ê–¼—_‹ZŽt‚̃fƒjƒXEƒŠƒbƒ`[”ŽŽmi‚U‚Xj‚ƕăO[ƒOƒ‹ŽÐ“Á•Ê‹ZŽt‚̃Pƒ“Eƒgƒ“ƒvƒ\ƒ“”ŽŽmi‚U‚Vjv

–ˆ“ú‚Š‚ - –ˆ“úV•·‚̃jƒ…[ƒXEî•ñƒTƒCƒg
http://mainichi.jp/select/science/news/m20110126k0000m040012000c.html
>>471
>Žž‘オˆá‚¤B

Žž‘ã‚ÆŒ¾‚¤ˆÓ–¡‚Å‚ÍAŋ߂̓fƒtƒH‚Å Python ‚ª“ü‚Á‚Ä‚¢‚½‚è‚·‚é‚Ì‚Å
Perl ‚ðŽg‚¤‚È‚ç Python ‚ð‘I‚ñ‚¶‚Ⴄ‚ÈB

‚ ‚ñ‚܂葬‚³‚ð‹£‚¤ŽdŽ–‚ð‚µ‚Ä‚¢‚È‚¢‚Ì‚ÆAƒƒ“ƒ‰ƒCƒi[‚ð‘‚­Ž–‚ª
‘½‚¢‚Ì‚ÅAawk ‚àâŽ^‘劈–ô‚µ‚Ä‚¢‚邯‚ÇB

Perl ‚ªƒtƒ‹ƒZƒbƒg‚ÌŒ¾Œê‚È‚ç awk ‚Í DSL ‚Ý‚½‚¢‚È•¨‚ÅAŒÂl“I‚É‚Í
awk ‚Ì•û‚ª‹CˆÀ‚­‘‚¯‚é‹C‚ª‚·‚éB
python‚ÍAƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚ÅŽg‚¢‚É‚­‚¢B
-c‚ňø”‚ɈꉞƒRƒ}ƒ“ƒh“n‚¹‚邯‚ÇAƒCƒ“ƒfƒ“ƒg‚Ì–â‘肪‚ ‚邵A
perl‚Ì-p‚â-n‚Ý‚½‚¢‚É•W€“ü—͂̃‹[ƒv“n‚¹‚È‚¢‚©‚çB
Ž¿–₳‚¹‚ĉº‚³‚¢

ŽŸ‚̂悤‚ȃeƒLƒXƒg‚ª‚ ‚é‚Æ‚µ‚Ü‚·
aaaaa 10 20 10 5
aaabb 5 10 10 10
aaabb 5 5 5 5
aabaa 5 20 20 30
aabbb 10 10 5 5
bbaaa 10 10 10 10
bbbaa 5 10 10 5
bbbbb 10 5 5 30

‚±‚±‚ÅAaaaaa‚È‚Ç‚ÍŒÂl‚Ì–¼‘O‚Å‚©‚ÂA3•¶Žš–Ú‚Ü‚Å‚ª©A4`5•¶Žš–Ú‚ª–¼‘OA‚Ü‚½”Žš‚ªo”‚Æ‚µ‚Ä
Še¢‘Ñ‚Ìo”ï‚ðo—Í‚µ‚½‚¢‚Æl‚¦‚Ä‚¢‚Ü‚·B

aaa 20 35 25 20
aab 15 30 25 35
bba 10 10 10 10
bbb 15 15 15 35

‚Æ‚È‚Á‚Ä—~‚µ‚¢–ó‚Å‚·B
‚Å¡l‚¦‚Ä‚¢‚é•û–@‚Æ‚µ‚Ä‚Í

substr($1,1,3) ‚Å©‚𔻒肵‚Ä
“¯‚¶©‚È‚çA¢‘Ñ‚ð‰ÁŽZ‚µ‚Äs‚­
ˆá‚¤©‚É‚È‚Á‚½ƒ^ƒCƒ~ƒ“ƒO‚Å1‚‘O‚̉Ƃ̉ƌv‚ð@print@‚µ‚Ä
‚³‚ç‚ÉŠeo”ï‚ð‰Šú‰»‚·‚é
ŽŸ‚Ìs‚ɈڂÁ‚Ä“¯‚¶¢‘Ñ‚È‚ç‰ÁŽZ

‚Æ‚¢‚¤Š´‚¶‚ŃXƒNƒŠƒvƒg‚ð‘g‚Ý‚½‚¢‚ñ‚Å‚·‚ªª–{“I‚È‚Æ‚±‚ë‚Å‚â‚è•û‚ª•s–¡‚¢‚Å‚µ‚傤‚©H
˜A‘z”z—ñ‚Æ‚©‚¶‚á‘Ê–Ú‚È‚Ì‚©H

name[$1] += 1
>>476-477
‘S‚ĘA‘z”z—ñ‚É—­‚ßž‚ñ‚ÅA ÅŒã‚ňê‹C‚Éo—Í‚µ‚½•û‚ª—Ç‚­‚È‚¢‚©?
>>477 ‚Ì•û–@‚¾‚ÆA o—Í‚ðs‚¤‰ÓŠ‚ª
"©‚ª•Ï‚í‚Á‚½‚Æ‚«" ‚Æ "ƒeƒLƒXƒg‚ªI‚í‚Á‚½‚Æ‚«" ‚É•ªŽU‚µ‚Ä‚µ‚Ü‚¤B

{
    a = substr($1,1,3);
    b[a] += $2;
    c[a] += $3;
    d[a] += $4;
    e[a] += $5;
}
END {
    for (f in e) print f,b[f],c[f],d[f],e[f];
}
>>474
OS(Linux)‚ðƒfƒtƒH‚¾‚¯‚ÅŽg‚¤‚±‚Æ‚Í‚Ü‚¸‚ ‚肦‚È‚­‚ÄA
‰½‚©‚µ‚ç’ljÁƒpƒbƒP[ƒW‚ª•K—v‚É‚È‚é‚Í‚¸‚¾‚©‚çA
Python‚ªƒfƒtƒH‚Å“ü‚Á‚Ä‚¢‚鎖‚ÍŽÀ—p–Ê‚Å•]‰¿‘ÎÛ‚É‚Í‚È‚ç‚ñ‚ÆŽv‚¤B

Ž©•ª‚ÍDebian‚ðƒƒCƒ“‚ÉŽg‚¤‚¯‚ÇAƒCƒ“ƒXƒg[ƒ‹Žž‚ɂ̓x[ƒXƒVƒXƒeƒ€‚¾‚¯‚ð‘I‚ÑA
‚»‚ê‚Ésshd‚Æruby‚ð’ljÁ‚·‚é‚Ì‚ªƒfƒtƒH‚È‚ñ‚Å‹C‚É‚È‚ç‚È‚¢B
Mac‚È‚çPython/Ruby‚Æ‚àƒfƒtƒH‚Å“ü‚Á‚Ä‚é‚©‚ç–³–â‘肾‚µA
Win‚È‚ç‚Ç‚¿‚ç‚àƒfƒtƒH‚¶‚á“ü‚Á‚Ä‚¢‚È‚¢‚©‚瓯‚¶B

‚Ü‚½“úí“I‚ȃvƒƒOƒ‰ƒ~ƒ“ƒO‚ÉŠÖ‚µ‚ÄARuby‚Ìꇂ͈ȉº‚̂悤‚ɃŠƒXƒg\‘¢‚ð
ƒVƒFƒ‹‚̃pƒCƒvƒ‰ƒCƒ“Š´Šo‚Å‘‚¯‚é‚Ì‚ªŠð‚µ‚¢B
@hoge_list.select { |x| ....}.sort { |x,y| .... }.map { |x| .... }.inject(n) {|x, i| .... }
ƒuƒƒbƒN(ƒNƒ[ƒWƒƒ)‚Ì–³‚¢Pyton/Perl‚Å‚ÍA‚±‚¤‚¢‚Á‚½‚¨‹CŒy‚È‘‚«•û‚Í‚Å‚«‚È‚¢B

‚¾‚©‚ç“úí“I‚ÈŠˆ–ô“x‚Å”äŠr‚·‚é‚ÆAŽ©•ª‚ÌꇂÍAbash > awk > ruby ‚É‚È‚éB
Šî–{‚Íbash‚ÅA–Ê“|‚È•¶Žš—ñˆ—‚ª‚ ‚ê‚Îawk‚ðƒƒ“ƒ‰ƒCƒi[‚Å–„‚ßž‚Þ‚Ì‚ªƒpƒ^[ƒ“B
‚ÅAFX‚Æ‹@”\‚ð’ljÁ‚µ‚Ä‚«‚ÄbashƒvƒƒOƒ‰ƒ~ƒ“ƒO‚ªd‰×‚ÉŠ´‚¶‚ç‚ê‚é‚悤‚É‚È‚èA
‚È‚¨‚©‚”ėp«‚Ì‚ ‚é(Ä—˜—p‚̉”\«‚ª‚ ‚é)ƒc[ƒ‹‚Å‚ ‚ê‚ÎAˆê‹C‚Éruby‚É‘‚«Š·‚¦‚éB

Python‚Í–{Ši“I‚ÈŠJ”­‚Å‚ ‚ê‚Î(Ruby‚æ‚è‚à)—D‚ꂽ–Ê‚ª‘½X‚ ‚é‚ÆŽv‚¤‚¯‚ÇA
(>>475‚ÌŽw“E‚àŠÜ‚ß‚Ä)‚¨ŽèŒy‚³/‚¨‹CŒy‚³‚ÉŒÀ‚é‚Æ(Ruby‚æ‚è‚à)Žg‚¢‚Â炭Š´‚¶‚éB
‚à‚¿‚ë‚ñbashƒXƒNƒŠƒvƒg(or Makefile)‚É–„‚ßž‚Þƒƒ“ƒ‰ƒCƒi[‚Å‚ ‚ê‚ÎAawk ‚ªƒxƒXƒgB
481 F474‚¶‚á‚È‚¢‚¯‚ÇF2011/01/26(…) 21:22:28
>>474‚Æ‘S‚­“¯‚¶ˆÓŒ©‚¾‚íB

‹Æ–±‚ÅŽg‚¤Ž–‚ª‘½‚¢RHEL‚Í—]Œv‚È•¨‚Í‚Ù‚Æ‚ñ‚Ç“ü‚ê‚Ä‚È‚¢B
PythonAPerl‚ªƒfƒtƒH‚Å“ü‚Á‚Ă銴‚¶B

ÌAUNIX‚ðˆµ‚Á‚Ä‚½ ‚ÍPerl‚È‚çƒfƒtƒH‚Å“ü‚Á‚Ä‚½‚Ì‚ÅAŠo‚¦‚悤‚Æ‚µ‚½‚¯‚ÇŒ‹‹Çg‚ɂ‚©‚¸B
shAsedAawk‚Å‚ª‚ñ‚΂Á‚Ä‚½B
>>480
ƒfƒtƒH‚Å“ü‚Á‚Ä‚¢‚é‚Ì‚ªŠð‚µ‚¢‚Ì‚ÍAŽ©•ª‚̊‹«‚¾‚¯‚Å‚È‚­A‘¼l‚̊‹«‚Å‚à
Žg‚¦‚鎖‚ª•ÛØ‚³‚ê‚Ä‚¢‚鎖‚¾‚æB’N‚©‚ÉŽg‚Á‚Ä‚à‚炤ˆ×‚̃R[ƒh‚ð‘‚­Žž‚ÉA
ƒpƒbƒP[ƒW‚̒ljÁ‚ð‚¨Šè‚¢‚µ‚È‚­‚Ä—Ç‚¢‚Ì‚Í‚Æ‚Ä‚àŠyB“Á‚ÉA‚»‚ꂪŽdŽ–‚Å
Žg‚í‚ê‚Ä‚¢‚éŠÂ‹«‚È‚ç®XB

ƒTƒ|[ƒg‚âƒgƒŒ[ƒjƒ“ƒO‚ÌŽdŽ–‚ð‚µ‚½Ž–‚ª‚ ‚él‚È‚ç—‰ð‚µ‚Ä‚à‚炦‚é‚ÆŽv‚¤B
AWK‚ÍANEC PC-9801‚ÌMS-DOS‚Å‚à‚¤‚²‚¢‚½BAWK95.exe‚ÍA“ú–{Œê‚ɑΉž‚µ‚Ä‚È‚¢
AWK‚ÌŠˆ–ô‚·‚éê–Ê‚ÍA‚â‚Á‚Ï‚èƒeƒLƒXƒgˆ—‚¾‚ÆŽv‚¤B
‚»‚Ì‚¿‚å‚Á‚Æ•¡ŽG”Å‚Æ‚µ‚ÄŽg‚¤‚È‚çPerl‚©‚ÈB
‘g‚Ýž‚݃‰ƒCƒuƒ‰ƒŠ‚ªƒeƒLƒXƒgˆ—‚É“Á‰»‚µ‚Ä‚é‚©‚çB

Python‚ͳ‹K•\Œ»‚ªŒ¾Œê‚É‘g‚Ýž‚Ü‚ê‚Ä‚È‚©‚Á‚½‚è‚Æ
ƒeƒLƒXƒgˆ—‚͎኱‚â‚è‚É‚­‚¢ˆóÛ‚ª‹­‚¢B
‚»‚Ì•ªAƒeƒLƒXƒgˆ—ˆÈŠO‚Ȃ猋\Žg‚¤‚¯‚Ç‚ËB
>>482
‚ ‚ A‚»‚ꕪ‚©‚é‚íB‹Æ–±ƒ}ƒVƒ“‚Æ‚µ‚ÄŽg‚¤¤—pUNIX(HP-UX/Solaris/AIX)‚¾‚Æ
Ruby‚Ç‚±‚ë‚©Python/Perl‚·‚çƒfƒtƒH‚¶‚á“ü‚Á‚Ä‚¢‚È‚¢‚µA‚»‚¤‚¢‚Á‚½
ƒtƒŠ[ƒ\ƒtƒg‚Ì—Þ‚¢‚ÍŒ´‘¥‚Æ‚µ‚Ĉê؃Cƒ“ƒXƒg[ƒ‹‹ÖŽ~‚Æ‚¢‚¤ŠÂ‹«‚à‚ ‚éB
(Web/Mail‚Æ‚¢‚Á‚½InternetŒnƒT[ƒo‚Í•Ê‚ËB‚ ‚­‚Ü‚Å‹Æ–±ƒ}ƒVƒ“ŒÀ’è‚̘bB)

‚¾‚©‚礗pUNIXƒ†[ƒU‚ÍAƒfƒtƒH‚Å“ü‚Á‚Ä‚¢‚éƒc[ƒ‹‚É’·‚¯‚邱‚Æ‚É‚È‚éB
‚â‚Á‚Ï‚è–{•¨‚ÌUNIXƒvƒ‚ðŽ©Ì‚·‚é‚Ì‚È‚çApython/ruby‚Å‚Í‚È‚­sh/awk‚¾‚µA
emacs/vim‚Å‚Í‚È‚­viAlatex‚Å‚Í‚È‚­roff‚ð‘I‚Ԃׂ«‚¾‚æ‚ËB
>>484
>Python‚ͳ‹K•\Œ»‚ªŒ¾Œê‚É‘g‚Ýž‚Ü‚ê‚Ä‚È‚©‚Á‚½‚è‚Æ

‚ÖH
>>486
‚ñHŒ¾Œê‚É‚Í‘g‚Ýž‚Ü‚ê‚Ä‚È‚¢‚¾‚ëHƒ‰ƒCƒuƒ‰ƒŠ‚Æ‚µ‚Ä‘g‚Ýž‚Ü‚ê‚Ă邾‚¯‚ÅB
‚¾‚©‚糋K•\Œ»ƒŠƒeƒ‰ƒ‹‚Æ‚©–³‚¢‚µAimport‚È‚µ‚É‚ÍŽg‚¦‚È‚¢B
ƒŠƒeƒ‰ƒ‹‚¾‚Ɖ½‚©—Ç‚¢‚±‚Æ‚ ‚é‚ÌH
•¶Žš—ñ‚©ƒpƒ^[ƒ“‚©‹æ•Ê‚µ‚â‚·‚¢B
‚ ‚ÆAƒ}ƒbƒ`ƒ“ƒO‚Ì•\‹L‚ªŽ©‘RB
>>485
Solaris ‚̓fƒtƒH‚Å Perl ‚à Python ‚à“ü‚Á‚Ä‚é‚æ
‚à‚¿‚ë‚ñ“ü‚ê‚È‚¢Ž–‚ào—ˆ‚邯‚Ç
>>491
‚»‚ê‚͊ȈՃCƒ“ƒXƒg[ƒ‹‚Å—p“r‚Æ‚µ‚ăfƒXƒNƒgƒbƒv‚ ‚é‚¢‚̓Cƒ“ƒ^[ƒlƒbƒgƒT[ƒo‚ð
‘I‘ð‚µ‚½ê‡‚̘b‚¶‚á‚È‚¢‚Ì‚©‚ÈBŠî–{ƒVƒXƒeƒ€‚Éperl/python‚ÍŠÜ‚Ü‚ê‚Ä‚¢‚È‚¢‚Í‚¸B
‚»‚̊ȈՃCƒ“ƒXƒg[ƒ‹‚àŠÜ‚߂ăfƒtƒH‚Å‚ ‚é‚Æ‚·‚é‚È‚çADebian‚à“¯‚¶B
ƒJƒeƒSƒŠ‚ŃfƒXƒNƒgƒbƒv‚ð‘I‚ׂÎuruby‚àƒfƒtƒHv‚ŃCƒ“ƒXƒg[ƒ‹‚³‚ê‚éB(RHL‚Í’m‚ç‚ñ)
Ž©•ª‚Í—]Œv‚È•¨‚Í“ü‚ꂽ‚­‚È‚¢‚©‚çŠî–{ƒVƒXƒeƒ€‚ð‘I‚ñ‚ł邯‚Ç‚ËB

‚‰Â—p«‚ð—v‹‚³‚ê‚éŠîŠ²‹Æ–±ƒVƒXƒeƒ€‚Ìê‡AŽ©•ª‚ÍHP-UX‚ðˆµ‚¤ƒP[ƒX‚ª‘½‚¢‚¯‚ÇA
ƒfƒtƒH‚Å‚ÍŠî–{ƒVƒXƒeƒ€‚ð‘I‚ÑŽ–‘O‚ÉÝŒv‚µ‚½ƒpƒbƒP[ƒW‚Ì‚Ý‚ð’ljÁ‚·‚é‚Ì‚ª“S‘¥B
‚È‚º‚È‚çƒ[ƒJ‚̃Tƒ|[ƒg‚ªŽó‚¯‚ç‚ê‚È‚¢A‚ ‚é‚¢‚Í‚ ‚©‚炳‚Ü‚ÉŒ™‚ÈŠç‚ð‚³‚ê‚é‚©‚çB
‚»‚ñ‚Ȋ‹«‚¾‚ÆAu^‚ɃfƒtƒHv‚Èsh/csh/sed/awk‚ª‘劈–ô‚µ‚Ä‚¢‚½‚è‚·‚éB
>>492
Solaris ‚̃fƒtƒHƒ‹ƒg‚Í "Entire Distribution" ‚Æ‚¢‚¤ƒpƒbƒP[ƒW‚̃Zƒbƒg‚¾‚æB
ƒCƒ“ƒXƒg[ƒ‰[‚ŃfƒtƒHƒ‹ƒg‚Å‘I‘ð‚³‚ê‚Ä‚¢‚é‚Ì‚ª‚±‚ꂾ‚µAƒvƒŠƒCƒ“ƒXƒg[ƒ‹
‚³‚ê‚Ä‚¢‚é‚Ì‚à‚±‚ê‚É‹ß‚¢‚à‚ÌB‚»‚±‚É‚Í Perl ‚à Python ‚à“ü‚Á‚Ä‚éB
ƒCƒ“ƒXƒg[ƒ‹‚·‚éÛ‚Ì‘I‘ðŽˆ‚Å "Core System" ‚ð‘I‚ׂΠPerl ‚â Python ‚Í
“ü‚ç‚È‚©‚Á‚½‚ÆŽv‚¤‚¯‚ÇA‚±‚ê‚ðƒfƒtƒHƒ‹ƒg‚ƌĂԂ̂͂¿‚å‚Á‚Æ–³—‚ª‚ ‚é‚ÆŽv‚¤‚íB

‚»‚ê‚ÆAŠÈˆÕƒCƒ“ƒXƒg[ƒ‹‚Æ‚©ƒJƒeƒSƒŠ‚ŃfƒXƒNƒgƒbƒv‚Æ‚©^‚ɃfƒtƒH‚ÆŒ¾‚Á‚½•¨‚Í
Solaris ‚É‚Í‘¶Ý‚µ‚È‚¢BDebian ‚Í’m‚ç‚ñB
Solaris2.6‚ ‚½‚è‚̃fƒtƒH‚ÅPerl‚Í“ü‚Á‚Ä‚½‹L‰¯‚ª‚ ‚éB
15”N‚­‚ç‚¢‘O‚ÌHP-UX‚¾‚ÆPerl‚ª“ü‚Á‚Ä‚È‚©‚Á‚½‹L‰¯‚ªB
‰´‚àHP-UXƒƒCƒ“‚¾‚¯‚ÇPerl“ü‚Á‚Ä‚È‚¢‚í
Šm‚©‚ÉASolaris‚ÉŠµ‚ê‚Ä‚¢‚ÄHP-UXŽg‚킳‚ê‚é‚ÆŽg‚¢‚É‚­‚¢‚í[
‚ÆŒ¾‚¤‚킯‚ÅAUN*XƒT[ƒoŠÇ—ŽÒ‚ÌꇂÍawk‚ðŽg‚¦‚é‚悤‚É‚È‚Á‚Ä‚¨‚¯‚ΊԈႢ‚ ‚è‚Ü‚¹‚ñ‚ËB
ŠÂ‹«‚ð‘I‚΂Ȃ¢ƒT[ƒoŠÇ—‚¾‚Á‚½‚çAsh,grep,sed,tr,cut,paste,sort,uniq‚ ‚½‚è‚ÅB
nawk‚Ægawk‚ÌŽd—l·‚ªŒ‹\‚ ‚é‚Ì‚ÅAawk‚ÍŽg‚¢‚É‚­‚¢B
‚±‚¤‚¢‚¤˜b‘è‚ÌŽž‚ÉSolaris‚Æ‚©HP-UX‚Ío‚é‚Ì‚ÉAIX‚Ío‚È‚¢ƒCƒ[ƒW
“ú–{’jŽ™‚È‚çHI-UXA“Á‚ÉHI-UX/WE2‚¾‚ëB펯‚â‚Ë
‚¤‚Þ
‚¢‚₱‚±‚ÍedƒXƒNƒŠƒvƒg‚Å
Solaris‚ÍA/usr/bin/awk /usr/bin/nawk /usr/xpg4/bin/awk
3‚•ÊX‚È‚Ì‚ª“ü‚Á‚Ä‚½‹C‚ª‚·‚é‚ÈB
‚ÅAˆê”Ô‚Ü‚Æ‚à‚È‚Ì‚ª3”Ô–Ú‚È‚Ì‚ÅA‚æ‚»‚©‚玂Á‚Ä‚«‚½ƒXƒNƒŠƒvƒg‚ÍA擪‚Ì#!‚ð
‘‚«Š·‚¦‚È‚¢‚Æ‚¢‚¯‚È‚¢‚Æ‚¢‚¤AƒJƒIƒX‚Èó‘Ô‚¶‚á‚È‚©‚Á‚½‚¾‚낤‚©B
>>503
Ž©•ªƒAƒJƒEƒ“ƒg‚̃pƒX‚Í^‚Áæ‚É /usr/xpg4/bin/‚ðŽ‚Á‚Ä‚«‚Ä‚½‚íB
ƒXƒNƒŠƒvƒg‚ð‘g‚ÞŽž‚Í‚¾‚¢‚½‚¢ nawk ‚ðŽg‚¤
‘¼l‚̃XƒNƒŠƒvƒg‚ðŠÛƒpƒNƒŠ‚·‚é‹@‰ï‚ª–³‚¢‚̂ŃJƒIƒX‚ÍŠ´‚¶‚½Ž–‚ª–³‚¢
>>505
˜b‚Ì—¬‚ꂪ>>497 >>498‚È‚Ì‚ÅA‰Â”À«‚ª–â‘è‚È‚ñ‚¾‚æB
ƒEƒ`‚Í RHEL ‚Æ Solaris ‚¾‚¯l‚¦‚ê‚Ηǂ¢‚©‚çAawk ‚Å–â‘肪‚ ‚鎞‚Í Perl ‚© Python ‚ÅÏ‚Ü‚·‚í
#!/usr/bin/env [gn]*awk
‚¾‚ëíl
shebangs‚É /usr/bin/env ‘‚­‚Ì‚Á‚Ä‚ ‚ñ‚Ü—Ç‚¢‚ÆŽv‚¦‚È‚¢‚ñ‚¾‚æ‚È‚ 
•¡”‚̈ø”‚̈µ‚¢‚Æ‚©AŠÂ‹«•Ï”‚ð‚»‚±‚Ü‚ÅM—p‚µ‚Ä—Ç‚¢‚à‚Ì‚È‚Ì‚©‚Æ‚©
‚ ‚Æ /usr/bin/ ‚É env ‚ª‚ ‚邱‚Æ‚Í–{“–‚É•ÛØ‚Å‚«‚é‚Ì‚©‚Æ‚©
/bin/sh ‚ð‘‚¢‚½‚Ù‚¤‚ª—Ç‚¢‚ñ‚¶‚á‚È‚¢‚©‚Á‚ÄŽv‚Á‚Ä‚µ‚Ü‚¤
‚±‚̘b‘è‚à’è”Ô‚¾‚ÈB‘OƒXƒŒ‚Ì558-564‚Å‚à‚â‚Á‚Ä‚½‚¼B‚Æ‚è‚ ‚¦‚¸Œ‹˜_‚¾‚¯‚ðˆø—p‚µ‚Æ‚­‚íB

>’²‚ׂĂ݂½‚ç#!‚ɃCƒ“ƒ^[ƒvƒŠƒ^‚̈ø”‚ð2‚ˆÈã—^‚¦‚½‚Æ‚«‚Ì
>‹““®‚ÍOS‚É‚æ‚Á‚ĈႤ‚悤‚¾‚Á‚½B
>
>FreeBSD4.2: 2‚ˆÈã‚ ‚Á‚Ä‚à“n‚é(/usrbin/env gawk -f foo)
>Linux(2.6.8): ‹ó”’‚ðŠÜ‚ß‚Ä1‚‚̈ø”‚Æ‚µ‚Ä“n‚é(/usr/bin/env "gawk -f" foo)
>Soraris(5.8): 2‚‚߈È~‚̈ø”‚Í–³Ž‹(/usr/bin/env gawk foo)
>
>Œ‹‹Ç/usr/bin/envŽg‚Á‚½‘‚«•û‚Ígawk‚̃Cƒ“ƒXƒg[ƒ‹ˆÊ’u‚Ì·‚ð
>‹zŽû‚µ‚悤‚Æ‚µ‚Ä‚é‚ñ‚¾‚낤‚ªA“®ì‚ÍOS‚É‚æ‚Á‚Ä‚Ä‚ñ‚ł΂ç‚΂ç
>‚È‚Ì‚Å‚ ‚܂肨Š©‚ß‚Å‚«‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚¾‚낤‚©B
ruby ŠEŒG‚Å‚à—¬s‚Á‚Ä‚é‚È
ˆÓ–¡‚à”»‚炸u‚¨‚Ü‚¶‚È‚¢v‚ÆÌ‚µ‚ÄŽg‚Á‚Ă邤‚¿‚É
“sŽs“`à‰»‚µ‚Ä‚¢‚­‚ñ‚¾‚È
‚È‚º gawk ‚É‚Í tr ‚ª–³‚¢‚Ì‚¾
tr("‚`-‚y","A-Z")‚Æ‚©‚µ‚½‚¢‚¼
‚Â Python
514 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/02/04(‹à) 09:10:06
>>512

BEGIN {
hankaku="0 1 2 3 4 5 6 7 8 9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z "
zenkaku="‚O‚P‚Q‚R‚S‚T‚U‚V‚W‚X‚`‚a‚b‚c‚d‚e‚f‚g‚h‚i‚j‚k‚l‚m‚n‚o‚p‚q‚r‚s‚t‚u‚v‚w‚x‚y‚‚‚‚ƒ‚„‚…‚†‚‡‚ˆ‚‰‚Š‚‹‚Œ‚‚Ž‚‚‚‘‚’‚“‚”‚•‚–‚—‚˜‚™‚š"
}
{
for (i=0; i<length(hankaku); i+=2) {
gsub(substr(hankaku,i+1,1),substr(zenkaku,i+1,2))
}
}
‚»‚ꂾ‚Ætr('ab', 'ba')‚ª‚¤‚Ü‚­‚¢‚©‚È‚¢‚ñ‚¾‚æ‚È‚ŸB
516 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/02/04(‹à) 09:54:40
“¯‚¶Ž–‚¶‚á‚ñ
”Ä—p“I‚É‚P‚Âì‚Á‚Æ‚¯‚΂¢‚¢‚¶‚á‚ñ
>514‚Ý‚½‚¢‚ȃxƒ^‘Å‚¿‚¶‚á‚È‚­‚Ä

A-Z‚ -‚ñ

‚±‚¤‚¢‚¤•\‹L‚Å’uŠ·‚·‚é•û–@‚ ‚éH
>>518
tr Žg‚¦‚ÎH
tr ƒRƒ}ƒ“ƒh‚Á‚Ċ‹«‚É‚æ‚Á‚ă}ƒ‹ƒ`ƒoƒCƒg‚̈µ‚¢‚ªˆá‚í‚ËHƒEƒ`‚Ìê‡
Ubuntu10.04‚É“ü‚Á‚Ä‚étr(GNU coreutils)7.4‚Í‚Ç‚¤‚â‚ç2•¶Žšˆµ‚¢‚É‚µ‚¿‚Ⴄ‚炵‚¢‚ª
MacOSX10.5‚É“ü‚Á‚Ä‚étriƒo[ƒWƒ‡ƒ“”»‚ç‚ñ‚ªmanŒ©‚é‚ÆBSDŒn‚Û‚¢j‚Í1•¶Žšˆµ‚¢‚É‚µ‚Ä‚­‚ꂽ
UNICODE = •¶Žš”
mbcs = ƒoƒCƒg”
‚ñ[‚ÆA‚ǂ䂱‚ÆH
gnome-terminal‚̓†ƒjƒR[ƒhÝ’è‚Ì‚Í‚¸‚È‚ñ‚¾‚ªc
‘¼‚É‚â‚ç‚È‚«‚á‚¢‚¯‚È‚¢‚±‚Æ‚ª‚ ‚é‚Á‚Ä‚±‚ÆH
523 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/02/09(…) 23:11:37
awk++Žg‚Á‚Ä‚él‚¢‚éH
http://awk.info/?doc/dsl/awkplusplus.html
Å‹ßAawk‚Ì‘¶Ý‚ð’m‚è‚Ü‚µ‚½B
‚¢‚ë‚ñ‚ÈŒ¾Œê‚ðG‚Á‚Ä‚ÍÁÜEEEG‚Á‚Ä‚ÍÁÜEEE‚ðŒJ‚è•Ô‚µ‚Ä‚¢‚Ü‚µ‚½B
awk‚͉½‚Æ‚È‚­ƒ}ƒXƒ^[o—ˆ‚»‚¤‚È‹C‚ª‚µ‚Ü‚·B
‚±‚ê‚©‚çŠæ’£‚è‚Ü‚·II
‚Q‚T‚U”{‚Ì–{‚ð¡‚Í“Ç‚ñ‚Å‚¨‚è‚Ü‚·B
gawk‚ŃtƒB[ƒ‹ƒh‚ðƒ\[ƒg‚µ‚Ä•\Ž¦‚µ‚½‚¢‚ñ‚¾‚ª
{split($0, a);asort(a);for(i=1;i<NF;i++){printf("%s%s", a[i], FS);}printf("%s\n", a[NF]);}
‚æ‚è‚àƒXƒ}[ƒg‚È•û–@‚ ‚éH

$1`$NF‚ª“ü‚Á‚½“ÁŽê”z—ñ‚Ý‚½‚¢‚È‚Ì‚ª‚ ‚Á‚½‚炤‚ꂵ‚¢‚Ì‚¾‚ªB
>>525
$i‚Æ‚©‘‚¯‚邵‘ã“ü‚à‚Å‚«‚é‚©‚ç
$1`‚ð•Û‘¶‚µ‚È‚­‚Ä‚¢‚¢‚Ì‚È‚çAŒã”¼‚Í

for(i=1;i<=NF;i++){$i=a[i]} print

‚Æ‘‚¯‚΂¿‚å‚Á‚Æ’Z‚­‚È‚é‚ÈB
>>526
‚È‚é‚Ù‚ÇA‚»‚¤‚Å‚«‚é‚Ì‚©B‚ ‚肪‚Æ‚¤B
http://www.kt.rim.or.jp/~kbk/gawk-3.1/ ‚É’u‚¢‚Ä‚ ‚Á‚½
win32—pgawk‚ª‚¢‚‚̊Ԃɂ©ŒöŠJ’âŽ~‚É‚È‚Á‚Ä‚¢‚½B

wn32‚Ìgensub‚ªŽg‚¦‚Ä“ú–{Œê‚ªˆµ‚¦‚ÄA
‚©‚Âexe‚݂̂ʼnғ®‚·‚é‚̂ŃCƒ“ƒXƒg[ƒ‹•s—v‚È‚Ì‚ª•Ö—˜‚Å
ŒöŽ„‚ɂ킽‚Á‚Ĉ¤—p‚µ‚Ä‚¢‚½‚Ì‚ÅA”ñí‚ɔ߂µ‚¢¥¥¥
‚»‚ê‚Í­‚µŒÃ‚¢.
gawk-mbcs-win32-20090920.zip ‚ªŽèŒ³‚É‚ ‚é‚Ì‚Å•K—v‚È‚çÄ”z•z‚·‚邪?
531 F528F2011/02/19(“y) 01:36:10
>>530
‚à‚µŽ„‚ÉŒ¾‚Á‚Ä‚­‚ê‚Ä‚¢‚é‚Ì‚Å‚ ‚ê‚ÎA
exe‚Ì‚Ý‚¾‚¯‚Ç2009/11/24”Å‚ªŽèŒ³‚É‚ ‚é‚Ì‚ÅA
‚±‚ê‚ðŽg‚¢‘±‚¯‚悤‚ÆŽv‚¤B‚ ‚肪‚Æ‚¤B
‰´‚̎茳‚ÉAgawk-mbcs-win32-20091124.zip ‚ª‚ ‚Á‚½B
—~‚µ‚¢l‚ª‚¢‚ÄA‚©‚ÂÄ”z•z‚É–â‘è–³‚¢‚Æ‚¢‚¤Ž–‚ª‚í‚©‚ê‚΂ǂÁ‚©‚É‚¤‚‚·‚邪B

‚µ‚©‚µ‚È‚ñ‚Å”z•z‚â‚ß‚¿‚á‚Á‚½‚ñ‚¾‚ë‚ËB
‚Ç‚±‚©‚ç‚©”qŽØ‚µ‚½ƒR[ƒh‚Æ‚©‚̃‰ƒCƒZƒ“ƒX–â‘è‚È‚Ì‚©‚ÈH
533 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/02/19(“y) 22:51:02.65
AWK++‚É‚æ‚éƒIƒuƒWƒFƒNƒgŽwŒü“ü–å
http://ja.wikibooks.org/wiki/AWK%2B%2B%E3%81%AB%E3%82%88%E3%82%8B%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E5%85%A5%E9%96%80

awk++‚Í–Ê”’‚»‚¤‚¾‚¯‚ÇAŒ»ŽÀ‚É‚Íawk‚ÅOO‚ð‚â‚él‚Í‚Ù‚Æ‚ñ‚Ç‚¢‚È‚¢‚¾‚낤B
‚»‚à‚»‚àawkŽg‚¢‚ÍOO‚ð—‰ð‚Å‚«‚È‚¢‚—îŽÒ‚ª‚Ù‚Æ‚ñ‚Ç‚¾‚µB
‚Å‚àAgawk‚ªƒfƒtƒHƒ‹ƒg‚ÅOO‚ɑΉž‚·‚ê‚Îawk‚ŃIƒuƒWƒFƒNƒgŽwŒü‚·‚él‚à‘‚¦‚é‚©‚à‚ËB
>>533
ƒfƒtƒH‚ŃCƒ“ƒXƒg[ƒ‹‚³‚ê‚éawk‚Å‚Å‚«‚é”͈͂̂±‚Æ‚µ‚©‚â‚ç‚È‚¢‚æ
“¯Š´B„ƒfƒtƒH‚Å‚Å‚«‚é”͈Í
’·‚߂̃XƒNƒŠƒvƒg‚ð‘‚¢‚½Ž–‚ª‚ ‚Á‚½‚Ì‚ÅOO‚ ‚é‚Æ•Ö—˜‚ÆŽv‚¤‚¯‚Ç
‚í‚´‚í‚´ƒCƒ“ƒXƒg[ƒ‹‚·‚é‚È‚çperlArubyApython‚ª‚ ‚邵‚È‚Ÿ
awk‚Å‘‚©‚ꂽawk++‚Á‚Ä‚È‚¢‚ÌH
gawk‚Å•½‰¼–¼EƒJƒ^ƒJƒi‚Ì•”•ª‚𔲂«o‚µ‚½‚¢‚ÆŽv‚Á‚Ä‚Ü‚·B
—Ⴆ‚Îuawk‚ɂ‚¢‚ÄŒê‚éƒXƒŒv‚¾‚Á‚½‚ç
"‚ɂ‚¢‚Ä" "‚éƒXƒŒ" ‚ð•Ï”‚É“ü‚ꂽ‚¢‚Ì‚Å‚·‚ªA‚¢‚¢•û–@‚ ‚è‚Ü‚·‚Å‚µ‚傤‚©H
538 F537F2011/03/02(…) 23:17:39.07
u‚ɂ‚¢‚Äv‚Æu‚éƒXƒŒv‚Í‚»‚ꂼ‚ê•Ê‚Ì•Ï”‚É“ü‚ꂽ‚¢‚ÆŽv‚Á‚Ä‚¢‚Ü‚·
ƒAƒ‹ƒtƒ@ƒxƒbƒgˆÈŠO‚Ì•”•ª‚¾‚Á‚½‚çAƒAƒ‹ƒtƒ@ƒxƒbƒg‚ðFS‚ÉŽw’肵‚Äwhile‚ʼnñ‚¹‚΂¢‚¢‚¯‚ÇA
Š¿Žš‚à”²‚­‚͓̂‚¢‚ÈB
‚»‚ê‚ÉAŽ–ŽÀã•Ï”‚Í–³ŒÀ‚ɶ¬‚·‚é‚Á‚ÄŽ–‚©B
match‚Ì‘æ2ˆø”‚É/[‚ -‚ñƒA-ƒ“]+/‚ðŽ‚Á‚Ä‚­‚é‚Æ‚©?
541 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/03/03(–Ø) 13:28:46.50
$0,$1...$NF‚ð‰ó‚µ‚Ä‚à‚¢‚¢‚ñ‚¾‚Á‚½‚çAŽ„‚Ȃ炱‚¤‚µ‚Ü‚·B

gsub‚ÌŒŸõ•¶Žš“S‚ɂͳ‹K•\Œ»‚ðŽg—p‚·‚邱‚Æ‚ª‚Å‚«‚é‚©‚çA
‚Ђ炪‚ȂƃJƒ^ƒJƒiˆÈŠO‚Ì•¶Žš‚ðƒXƒy[ƒX‚É’u‚«Š·‚¦‚éB

gsub(/[^[‚Ÿ-‚ñƒ@-ƒ“]/," ")

‚Ђ炪‚ȂƃJƒ^ƒJƒiˆÈŠO‚Ì•¶Žš‚Í”¼ŠpƒXƒy[ƒX‚Q‚‚ɒu‚«Š·‚í‚éB
‚ ‚Æ‚ÍNF‚ðŒ©‚Ä•\Ž¦‚µ‚½‚¢‚悤‚Ɉ—‚·‚éB

’ˆÓ‚·‚ׂ«‚ÍAWindows”Å‚ÌV‚µ‚¢ƒo[ƒWƒ‡ƒ“‚Ì‚à‚Ì‚Å‚ÍA
³‹K•\Œ»‚Æ‚µ‚ÄA‚Ђ炪‚È‚ð ‚Ÿ-‚ñ ‚ÅAƒJƒ^ƒJƒi‚ð ƒ@-ƒ“ ‚Å
Žw’è‚Å‚«‚È‚¢‚à‚Ì‚ª‚ ‚è‚Ü‚·B
‚½‚µ‚©ƒ}ƒ‹ƒ`ƒoƒCƒgŠg’£‚ʼn󂳂ꂽB
542 F537F2011/03/03(–Ø) 14:28:35.14
>541
‚Ü‚¾ŽŽ‚µ‚Ä‚Ü‚¹‚ñ‚ªA—~‚·‚镶ŽšˆÈŠO‚ðÁ‚µ‚ăSƒjƒ‡ƒSƒjƒ‡‚·‚ê‚΂¢‚¯‚»‚¤‚Å‚·B
>539-540‚³‚ñ‚à‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B
543 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/03/03(–Ø) 19:41:21.36
BEGIN {
str = "ƒfƒ“ƒRŠ¿Žš‚΂ñ‚´‚¢Œ³‹Cabcde‚¾‚©‚ç"
c = split(str, a, "[^[ƒ@-ƒ“‚Ÿ-‚ñ]")
for (i = c; i>=1; i--) {
if ( a[i] !~ /^$/ ) { print a[i] }
}
}
ƒ{ƒP‚©‚Ü‚µ‚½
4s–Ú‚Í•’Ê‚É
for ( i = 1; i <=c; i++) {
‚ÅOKB
c‚ðŽc‚³‚È‚­‚Æ‚à
for (i in a){if (a[i]) print a[i]}
‚ŊԂɇ‚¤‚悤‚ÈB
for-in‚¾‚Ƈ˜‚ª•ÛႳ‚ê‚È‚¢‚ñ‚¶‚á‚È‚©‚Á‚½‚Á‚¯?
547 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/03/04(‹à) 08:34:52.75
for ( i = 1; i in a ; i++) ‚Á‚Ä‘‚«•û‚à‚Å‚«‚é‚æ
548 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/03/07(ŒŽ) 14:14:11.11
a1 a1 a1 a2 a2 a3
b1 b1 b1 b1
c1
d1 d2 d2
....

‚̂悤‚ÉAƒtƒB[ƒ‹ƒh”‚ªƒoƒ‰ƒoƒ‰‚ÅAƒtƒB[ƒ‹ƒh‚ªˆê’v‚·‚éê‡‚à‚ ‚ê‚Î
ˆê’v‚µ‚È‚¢ƒf[ƒ^‚ª‚ ‚é‚Ì‚Å‚·‚ªAd•¡‚ð
a1 a2 a3
b1
c1
d1 d2
‚̂悤‚É‚Ü‚Æ‚ß‚ ‚°‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚Å‚µ‚傤‚©H
‚³‚·‚ª‚ɃOƒO‚Á‚ăRƒsƒy‚Æ‚¢‚¤–ó‚É‚à‚¢‚©‚¸BBB
>>548
‚¢‚ë‚¢‚ë‚â‚è•û‚Í‚ ‚é‚ÆŽv‚¤‚ª

awk '{j=0;delete a;for(i=1;i<=NF;i++){if(!a[$i]++){$(++j)=$i}}NF=j;print}'
550 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/03/07(ŒŽ) 14:53:42.21
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‚»‚ꂼ‚êA4‚Âd•¡ƒf[ƒ^‚Ì‚ ‚Á‚½‚à‚Ì‚Í3‚‚ÉA2‚‚̂à‚Ì‚Í1‚‚ɂƌ¸‚Á‚½‚Ì‚Å‚·‚ª
‚»‚êˆÈ㌸‚Á‚Ä‚Ü‚¹‚ñB“¯‚¶ƒRƒ}ƒ“ƒh‚ðŒJ‚è•Ô‚µ‚©‚¯‚Ä‚Ý‚½‚Ì‚Å‚·‚ªA•Ï‰»‚Í‚È‚©‚Á‚½‚Å‚·B

a1 a1 a1 a1
b1 b1 b1
...‚Ì•”•ª‚ª
a1 a1 a1
b1 b1
‚É‚Í‚È‚Á‚½‚Æ‚¢‚¤ˆÓ–¡‚Å‚·B
‚à‚¤­‚µ‚¨‚‚«‚ ‚¢‚¢‚½‚¾‚¯‚È‚¢‚Å‚µ‚傤‚©BBB
ŽèŒ³‚ł͈ê‚‚ɂȂ邯‚Ç‚È‚ŸBŒ´—‚Í‚í‚©‚邾‚낤‚©‚ç‚ ‚Æ‚Í‚ª‚ñ‚΂êB
s‚²‚ƂɃtƒB[ƒ‹ƒh‚Ì“YŽš‚ɂ‚¢‚ă‹[ƒv‚·‚é‚̂ƘA‘z”z—ñ‚ÅoŒ»ƒ`ƒFƒbƒN‚ªƒLƒ‚B

% cat hoge.txt
a1 a1 a1 a2 a2 a3
b1 b1 b1 b1
c1
d1 d2 d2
% awk '{j=0;delete a;for(i=1;i<=NF;i++){if(!a[$i]++){$(++j)=$i}}NF=j;print}' hoge.txt
a1 a2 a3
b1
c1
d1 d2
552 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/03/07(ŒŽ) 15:14:33.26
0610005C13Rik 0610005C13Rik 0610005C13Rik
0610007C21Rik 0610007C21Rik 0610007C21Rik 0610007C21Rik 0610007C21Rik

‚±‚¤‚¢‚¤Š´‚¶‚Ì•¶Žš—ñ‚È‚ñ‚Å‚·‚ª
a1‚Æ‚©b1‚ŗႦ‚Ä‚à‘åä•v‚¾‚Á‚½‚Å‚·‚©H
‹ó”’‚Å‹æØ‚ç‚ꂽ•¶Žš—ñ‚È‚ç‚È‚ñ‚Å‚à‚¢‚¢‚ªA‚»‚̃Œƒxƒ‹‚ÌŽ¿–₪
o‚é‚悤‚¶‚á‚à‚¤‚·‚±‚µŠî‘b‚ð•×‹­‚µ‚È‚¢‚Æ‚¾‚ß‚©‚à‚È‚ŸB
ƒVƒ“ƒOƒ‹ƒNƒI[ƒe[ƒVƒ‡ƒ“Žg—p‚̃Tƒ“ƒvƒ‹‚Å–â‘è‚È‚¢‚ÆŒ¾‚¤Ž–‚Í`
‚t‚m‚h‚wŠÂ‹«‚È‚Ì‚©‚È`
555 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/03/07(ŒŽ) 15:58:11.87
Mac OSX‚̃^[ƒ~ƒiƒ‹‚ðŽg‚Á‚Ä‚Ü‚·B
>>551‚Í‚»‚Ì‚Ü‚Ü‚¤‚Ü‚­“®‚«‚Ü‚µ‚½B
‚¢‚ܸ‡‚ÅŽè“®‚Åì‹Æ‚µ‚Ä‚Ü‚·‚ªA‚Ü‚¾z‚𔲂¯‚邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB
‚à‚¤Žè‚ª‚‚肻‚¤‚Å‚·
ˆês–ì˜Y‚ð•ª‰ð‚µ‚ÄƒXƒNƒŠƒvƒg‚É‘g‚Ý’¼‚µ‚ĘM‚ê‚Γ®ìŠm”Fo—ˆ‚é‚ÆŽv‚¤
557 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/03/07(ŒŽ) 16:21:10.50
‚¢‚Üw‚Ü‚Å‚«‚Ü‚µ‚½B‚à‚¤‚¾‚ß‚Å‚·B
ˆê‰žAƒtƒ@ƒCƒ‹‚ð‚¨‚¢‚Ä‚Ý‚Ü‚·BBB
http://www5.puny.jp/uploader/download/1299482386.zip
ƒpƒX‚Í1234‚Å‚·B
‚Ü‚¾‚â‚Á‚Ä‚é‚Ì‚©`
ƒtƒ@ƒCƒ‹‚Ì@O‚l@‚ª–â‘è‚Ý‚½‚¢‚¾‚©‚ç
‚b‚q‚k‚e‚̃tƒ@ƒCƒ‹Œ`Ž®‚É•ÏŠ·‚µ‚Äã‚̈ês–ì˜Y‚Å–â‘è‚È‚¢‚Ý‚½‚¢‚¾‚Á‚½‚æB
559 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/04/19(‰Î) 03:07:46.46
#•¡”s‚Ì“ü—Í’†Aæ‚Ìs‚Ì11ƒJƒ‰ƒ€–Ú‚ÉOUT‚ªŠÜ‚Ü‚ê‚Ä‚¢‚é‚©‚ÂŽŸ‚Ìs‚Ì11ƒJƒ‰ƒ€–Ú‚ÉIN‚ªŠÜ‚Ü‚ê‚Ä‚¢‚é2s‚ª‘µ‚Á‚½ŽžA2s‚ðo—Í
$11~/OUT/{ prev=$0; }
$11~/IN/{
if(prev!=""){ print prev; print; }
prev="";
}
560 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/04/19(‰Î) 15:55:50.78
# 7.awk
NR >= 2{
if($0 ~ /^>'=+/){
if($0 ~ /~$/){
print "A";
}else{
print "NAA";
}
}else if($0 ~ /^>\^(Q=)+/){
if($0 ~ /~~$/){
print "B";
}else{
print "NAB";
}
}else{
print "NAC";
}
}

7.txt
3
>'======#======~
>^Q=Q=Q=Q=Q=Q=Q=Q=~~
>'===#====~
NAA
NBB
NAA@@@‚Æ‚È‚éB‰½‚ÅH
A
B
A@@‚Æ‚È‚Á‚Ä‚Ù‚µ‚¢‚Ì‚ÉEEEgawk 3.1.7‚Å‚·EE
‰´‚̎茳‚Ìgawk 3.1.7‚Å‚ÍŠú‘Ò’Ê‚è‚ÌŒ‹‰Ê‚É‚È‚é‚È‚ B

s––‚ª‚ç‚Ý‚¾‚ƉüsƒR[ƒh‚ªˆá‚Á‚Ä‚½‚茩‚¦‚È‚¢‹ó”’‚ª
“ü‚Á‚Ä‚½‚è‚Æ‚¢‚¤‚Ì‚ª‚æ‚­‚ ‚é‚Ì‚ÅŠm”F‚µ‚Ä‚ÝB
>>560
‚ ‚Æ

/^>'=+/

‚Á‚ăLƒƒƒvƒ`ƒƒ‚Æ‚©‚µ‚Ä‚é‚킯‚¶‚á‚È‚¢‚©‚ç+‚Í–³‘Ê‚¶‚á‚È‚¢‚©B
563 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/04/19(‰Î) 16:45:20.75
>>561
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½B‰üsƒR[ƒh‚ðunixŒ`Ž®‚É‚µ‚½‚ço—ˆ‚Ü‚µ‚½B
¡Œã‚Æ‚à‚æ‚낵‚­‚¨Šè‚¢’v‚µ‚Ü‚·B
564 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/04/19(‰Î) 17:00:39.34
>>559

IN‚ª‚ ‚é‚Æ‚«‚É‚µ‚©prev‚ªƒNƒŠƒA‚³‚ê‚Ä‚¢‚È‚¢‚©‚çAOUT‚ªoŒ»‚µ‚½ˆÈ~‚É
•¡”s‚ªŒo‰ß‚µ‚Ä‚àIN‚ªoŒ»‚·‚é‚Æprint‚³‚ê‚éƒXƒNƒŠƒvƒg‚É‚È‚Á‚Ä‚¢‚é‚æB
565 F559F2011/04/20(…) 01:08:11.06
http://okwave.jp/qa/q6672025.html
‚Æ‚©‚Ì“ü—Í‚ðƒCƒ[ƒW‚µ‚Ä‚½‚à‚Ì‚Å...

$11~/OUT/{ prev=$0; }
$11~/IN/{
if(prev!=""){ print prev; print; }
}
$11!~/OUT/{ prev=""; }
566 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/05/01(“ú) 16:22:39.39
http://okwave.jp/qa/q6660984.html
#2—ñ–Ú‚Ì€–Ú‚ªdisk1`4‚Ü‚Å•s‘«•”•ª‚ª–„‚Ü‚é‚悤‚É‚µA•s‘«‚µ‚Ä‚¢‚½•”•ª‚Ì1—ñ–Ú‚É‚Í‘O‚ÌŽžŠÔA3—ñ–Ú‚É‚Í0‚Å–„‚ß‚½‚¢
BEGIN{ dt=prevDt="00:00:00"; }
NF>=3{ dt=$1; tgt=$2; n=$3; }
NF==2{ tgt=$1; n=$2; }
{ gapDisp(prevTgt,tgt); disp(dt,tgt,n); prevDt=dt; prevTgt=tgt; }
END{ gapDisp(tgt,"disk1"); }

function disp(dt,tgt,n){ print dt, tgt, n; }
function gapDisp(disk,endDisk, cnt)
{
for(cnt=add(getNo(disk)); cnt!=getNo(endDisk); cnt=add(cnt)) disp(prevDt, sprintf("disk%d", cnt), 0);
}
function add(cnt){ return ((++cnt>4)?(1):(cnt)); }
function getNo(disk){ sub(/disk/,"",disk); return disk; }
BEGIN { reset() }
NF == 2 { $3 = $2; $2 = $1; $1 = last_t }
{ last_t = $1 }
{ if ($2 < last_disk) { p(); reset() } last_disk = $2 }
{ n[$2] = $3 }
{ for(i in n) { if (i >= $2) { t[i] = $1 } } }
END { p() }
function p() {
for (i = 1; i <= 4; i++) {
d = "disk" i
print t[d], d, n[d]
}
}
function reset() {
for (i = 1; i <= 4; i++) {
d = "disk" i
t[d] = t["disk4"]
n[d] = 0
}
}
568 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/05/03(‰Î) 14:58:05.53
ŠÔˆá‚Á‚Ä‚é‚æ
‚µ‚©‚à’·‚­‚Ä”ü‚µ‚­‚È‚¢‚æ
http://okwave.jp/qa/q6711117.html
...‚±‚ñ‚ÈŠ´‚¶‚©‚Ë‚¥H@@ awk -f sum.awk ƒf[ƒ^ | sort
----- sum.awk -----
$1!~/¤“X–¼/{ tbl[$1 "," $2]+=$3; }
END{
@for(key in tbl){
@@split(key, item, /,/);
@@print item[1], item[2], tbl[key];
@}
}
-----
>>566
NF==3 {
disp();
for(i=1;i<=4;i++) {
disk_time[i]=$1
disk_val[i]=0
}
disk_val[substr($2, 5, 1)]=$3
}
NF==2 {
disk_val[substr($1, 5, 1)]=$2
}
END{
disp()
}
function disp() {
for(i=1;i<=4;i++) {
if(i in disk_time) printf("%s disk%d %s\n", disk_time[i], i, disk_val[i])
}
}
BEGIN {
    # 擪‚ª‚¢‚«‚È‚è "disk2 15" ‚Ì‚Ý‚ÅŽn‚Ü‚Á‚½‚肵‚È‚¯‚ê‚Î
    # ‚±‚̉Šú‰»‚Í•s—vB
    a = "00:00:00";
}
NF == 3 {
    if (NR > 1) put();
    a = $1;
    b[$2] = $3;
}
NF == 2 {
    b[$1] = $2;
}
END {
    put();
}
function put(    i) {
    for (i = 1; i <= 4; i++) {
        print a, "disk" i, b["disk" i] + 0;
        b["disk" i] = 0;
    }
}
>>569 awk‚Ì”z—ñ‚Á‚Ä‚Ç‚ê‚­‚ç‚¢Šm•Û‰Â”\‚È‚ÌH
æ‚Ésort‚µ‚½‚ç‚Ç‚¤‚©‚ÈH sort ƒf[ƒ^ | awk -f sum.awk
----- sum.awk -----
$1!~/¤“X–¼/{ if(store==$1 && item==$2) val+=$3; else{ disp(); store=$1; item=$2; val=$3; } }
END{ disp(); }
function disp(){ if(store!="" || item!="") print store, item, val; }
-----
ƒwƒbƒNƒVƒ‡ƒ“
$ uname -sr
CYGWIN_NT-6.1 1.7.9(0.237/5/3)
$ awk --version
GNU Awk 3.1.8

‚±‚̊‹«‚ÅA
awk 'BEGIN {for(i=j=1;i<50;++i) {print j; j*=10}}'
‚±‚êŽÀs‚·‚é‚ÆAj‚ª23Œ…’´‚¦‚½‚ ‚½‚è‚©‚çA‚¨‚©‚µ‚­‚È‚é‚ñ‚¾‚¯‚ÇB

awk‚Ì®”‚Á‚ÄãŒÀ‚ ‚é‚ÌHiƒEƒ`‚¾‚¯‚©Hj
long double•Ó‚è‚̸“x‚µ‚©‚È‚¢‚æB
576 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/05/06(‹à) 09:18:39.10
>>574
‚¨‚ê‚Ì‚o‚b‚Å‚Í•’Ê‚É 1 ‚©‚ç 1e+048 ‚Ü‚Å•\Ž¦‚³‚ê‚Ü‚·‚ªBBB
577 F ”E–@’ŸyLv=25,xxxPTz F2011/05/06(‹à) 09:54:18.77
>>576
–{“–‚Å‚·‚©I‚æ‚낵‚¯‚ê‚Ί‹«‚ð‹³‚¦‚Ä‚­‚¾‚³‚¢B

>>577
‚ ‚肪‚Æ‚¤B‚±‚±awk‚à’£‚ꂽ‚ñ‚¾BŒ‹‰Ê‚ª’·‚·‚¬‚Ä¢‚Á‚Ä‚½‚Ì‚æB
³‚É‚±‚ñ‚ÈŒ‹‰Ê‚É‚È‚éB

POSIX‚Å•ÛႳ‚ê‚Ă鸓x‚Í>>575‚Á‚Ä‚±‚ÆH
‚Ä‚±‚Æ‚ÍAawk‚Í“à•”‚Å‚ÍA‘S‚Ä‚Ì”‚ªdoubleˆµ‚¢‚È‚ÌH
579 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/05/06(‹à) 14:20:04.87
>>578
576‚Å‚·BWindowsXP + GNU Awk 3.0.6 + multi-byte extension 1.15 ‚Å‚·B
>>579
‚ ‚肪‚Æ‚¤B
‚ ‚Ü‚èˆá‚¢‚ª‚È‚¢‚ÈBWin7‚ÍŠÖŒW‚È‚¢‚¾‚낤‚µB
multi-byte extension‚ª‚»‚Ì•Ó‚è‚à˜M‚Á‚Ä‚¢‚é‚Ì‚©c

‚»‚¤‚¢‚¦‚ÎA1e+048‚Ý‚½‚¢‚ÈŽw”‚Å•\Ž¦‚³‚ê‚é‚ÌH
o—Í‚Ì‚Æ‚«ŠÛ‚ß‚é‚©‚çA‚¿‚á‚ñ‚ÆŒvŽZ‚Å‚«‚Ä‚é‚悤‚ÉŒ©‚¦‚é‚Ì‚©‚ÈB
awk‚Å‚Í”’l‚Í‚·‚ׂÄdouble‚ňµ‚¢‚Ü‚·B
‚Å‚·‚©‚ç‚»‚̸“x‚Å‚ ‚é53bit•ªA‘å‘Ì15Œ…‚¿‚å‚Á‚Æ‚ð’´‚¦‚é‚ƳŠm‚È’l‚ð•ÛŽ‚Å‚«‚Ü‚¹‚ñB

23Œ…‚ ‚½‚è‚܂ų‚µ‚­•\Ž¦‚Å‚«‚Ä‚é‚Á‚Ä‚Ì‚Í‚æ‚­‚í‚©‚è‚Ü‚¹‚ñ‚ªA
3.0.6‚É‚µ‚Ä‚ào—ÍŽž‚Ì‘Ž®Žw’肪ˆá‚¤‚¾‚¯‚Å“à•”“I‚É‚Í“¯‚¶‚悤‚É•s³Šm‚È’l‚É
‚È‚Á‚Ä‚µ‚Ü‚Á‚Ä‚é‚ÆŽv‚¢‚Ü‚·B
‚¾‚©‚çAŽÀŽ¿long double‚̸“x‚É‚È‚Á‚Ä‚¢‚é‚ñ‚¾‚Á‚Ä‚ÎB
>>582
uŽÀŽ¿v‚Æ‚¢‚¤‚Ì‚Í‚Ç‚¤‚¢‚¤ˆÓ–¡?

#define AWKNUM double

‚Á‚Ä‚Ì‚ª‚ ‚邵Along double ‚É‚µ‚Ä‚à‰¼”•”‚Í64bit‚¾‚©‚ç23Œ…‚É‚Í‘«‚è‚È‚¢‚æ?
x87‚̃Œƒxƒ‹‚ÅŠg’£¸“x‚É‚È‚Á‚Ä‚Ä‚àA•\Ž¦‚â‚ç‚È‚ñ‚â‚ç‚·‚é‚Æ‚±‚ë‚Å”{¸“x‚É
ŠÛ‚ß‚ç‚ê‚¿‚Ⴄ‚ÆŽv‚¤‚ñ‚¾‚¯‚ÇB
http://codepad.org/4GaxJcGp
Š®‘S‚Ɉê’vB‚Ç‚¤Œ©‚Ä‚à double ‚Å‚·B–{“–‚É‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚µ‚½
>>581
‚ ‚¤A‚»‚¤‚È‚Ì‚©[B‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B¢‚Á‚½‚È‚ŸB
10i‚ÅŽÀ”ˆµ‚¦‚Æ‚Ü‚Å‚ÍŒ¾‚í‚È‚¢‚¯‚ÇA®”‚Í—~‚µ‚¢B
”‚ð‚¢‚ë‚ñ‚ÈŒ^‚ňµ‚¦‚鈗Œn‚È‚ñ‚Ä‚È‚¢‚©B
>>583
‚ [Along double‚ÆŒ¾‚Á‚½‚Ì‚ªÙ‚©‚Á‚½‚ËB10‚Ì™p‚Ìꇂ͎ÀŽ¿double‚ð‘å‚«‚­‰z‚¦‚½¸“x‚É‚È‚Á‚Ä‚¢‚é‚ÆŒ¾‚¢‚½‚©‚Á‚½B

10‚Í2‚Æ5‚ÌÏ‚¾‚©‚çA10”{‚ðŒJ‚è•Ô‚·‚Æ‚«‚ɉ¼”•”‚Í5”{‚¸‚‚ɂµ‚©‚È‚ç‚È‚¢B
IEEE‚Ìdouble‚̸“x‚¾‚Æ5‚Ì22æ‚Å53ƒrƒbƒg‚ðŽg‚¢‰Ê‚½‚·‚Ì‚ÅA‚»‚±‚܂ł͌뷂ª¶‚¶‚È‚¢B
Œ¾‚¢Š·‚¦‚ê‚ÎA10‚ÌꇂÍ53ƒrƒbƒg+22ƒrƒbƒgA‘¦‚¿75ƒrƒbƒg•ª¸“x‚ª‚ ‚é‚悤‚ÉŒ©‚¦‚éB

‚Ü‚ŸA>584‚ð10”{‚¶‚á‚È‚­‚Ä5”{‚É‚µ‚ÄAdouble‚ðlong long‚É‚µ‚Ä%.f‚ð%llx‚É‚µ‚ărƒbƒg”‚𔂦‚Ä‚Ý‚ê‚΂킩‚é‚Å‚µ‚åB
gawk‚̃†[ƒUƒKƒCƒh‚ÉA‘¼‚̈—Œn‚Å‚ÍA•W€ƒGƒ‰[‚ðŽg‚¤‚½‚ßA
@print "Serious error detected!" | "cat 1>&2"
‚Æ‚¢‚¤•û–@‚µ‚©‚È‚¢‚Æ‚ ‚è‚Ü‚·B
gawk‚Í/dev/stderr‚ð“Á•Ê‚Ɉµ‚¤‚½‚ßA
@print "Serious error detected!" > "/dev/stderr"
‚Æ‘‚­‚Ì‚ª“KØ‚Æ‚ ‚è‚Ü‚·B

‚±‚ê‚É‚ÍA‚ǂ̂悤‚ȈႢ‚ª‚ ‚é‚Ì‚Å‚µ‚傤‚©H
/dev/stderr‚ª‚ ‚éOS‚È‚çAcat‚̃vƒƒZƒX‚ª¶¬‚³‚ê‚鑼‚ÍAˆá‚¢‚Í‚È‚¢‚Ì‚Å‚µ‚傤‚©H
ŠÂ‹«‚∗Œn‚ð–â‚킸“®ì‚³‚¹‚½‚¢‚È‚çAã‚Ì‘‚«•û‚Ì•û‚ª‚æ‚¢‚Ì‚©A‹C‚É‚È‚Á‚Ä‚¢‚Ü‚·B

‚æ‚낵‚­‚¨Šè‚¢‚µ‚Ü‚·B
‘¼‚̈—Œn‚Á‚ÄA‘¼‚Ìawk‚Á‚ÄŽ–‚¾‚æB

/dev/stderr‚ª‚ ‚éOS‚Á‚ÄŽ–‚À‚á‚È‚­‚ÄA
gawk‚Í“ÁŽê‚ȃtƒ@ƒCƒ‹–¼‚Æ‚µ‚Ä/dev/stderr‚Æ‚©Žg‚¦‚é‚æA‚Á‚ÄŽ–‚¾‚æB

‚È‚Ì‚Å‘¼‚ÌOS‚Å‚à gawk ‚¾‚Á‚½‚çprint‚Æ‚©‚Ìo—Íæƒtƒ@ƒCƒ‹–¼‚Æ‚µ‚Ä /dev/stderr Žg‚¦‚é‚Á‚Ęb‚¾‚ËB
/dev/stderr‚Æ‚©‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢gawkˆÈŠO‚Ìawk‚Å‚à“®ì‚³‚¹‚é‚È‚ç ƒpƒCƒv‚Æ"cat 1>&2"‚ðŽg‚¤•û–@‚µ‚©‚È‚¢B‚ªAWinŒn‚Ícat‚¾‚Æ...
‚»‚±‚Ü‚Å‚Ì‚±‚Æ‚ð‚·‚é‚È‚çPerl/Ruby/Python“™‚Ì‚¿‚á‚ñ‚Æ‚µ‚½
ƒXƒNƒŠƒvƒgŒ¾Œê‚Å‘‚¢‚½•û‚ª‚¢‚¢‚ñ‚¶‚á‚È‚¢‚©‚ÈB‚±‚¤‚¢‚¤
‚Ç‚¤‚Å‚à‚¢‚¢‚Æ‚±‚ë‚Å”Y‚Ü‚È‚­‚ÄÏ‚Þ‚æB

awk‚Íawk‚ÅŽèŒy‚É‘‚¯‚é”͈͂Ȃ瑼‚Ì’Ç‚ð‹–‚³‚È‚¢‚ÆŽv‚¤‚ª
‚»‚̘g‚ð‚Í‚Ýo‚悤‚Æ‚·‚é‚Æ“r’[‚É‘å•Ï‚É‚È‚éB‚»‚±‚ªŠy‚µ‚¢‚Æ
‚¢‚¤‚Ì‚È‚ç–³—‚É‚ÍŽ~‚ß‚È‚¢‚¯‚Çw

>>589
‚»‚¤A‚»‚ꂪŠy‚µ‚¢‚ñ‚¾
>>588
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
cat‚ª‚È‚¢ŠÂ‹«‚¾‚ÆA‚Ç‚¤‚µ‚悤‚à‚È‚¢‚Å‚·‚Ëc

>>589
ƒRƒ“ƒ}‹æØ‚è‚̃f[ƒ^‚ðAƒVƒFƒ‹ƒXƒNƒŠƒvƒg‚ň—‚µ‚Ä‚¢‚½‚Ì‚ÅA
‚»‚ê‚ðawk‚ɈÚA‚µ‚Ä‚¢‚Ü‚µ‚½Bˆê”ÔŽèŒy‚¾‚Á‚½‚Ì‚Å‚·B

‚¿‚È‚Ý‚ÉA2ŽžŠÔ”¼ˆÈã‚©‚©‚Á‚Ä‚¢‚½ˆ—‚ªA1•ªˆÈ“à‚É’Zk‚³‚ê‚Ü‚µ‚½B
ƒƒ‰ƒ^B@@@ƒƒ‰ƒ^c
C‚Å‘‚«’¼‚µ‚½‚甕b‚ÅŽÀsŠ®—¹‚Ì—\Š´‚—
‚Â[‚Ä‚àawk‚Æ‚©‚»‚Ì‘¼‚̃XƒNƒŠƒvƒg‚ŃTƒNƒb‚Æ‘‚¯‚é‚悤‚È•¶Žš—ñˆ—‚ð
CŒ¾Œê‚Æ‚©‚Å‚Í‚ ‚ñ‚Ü‚è‘‚«‚½‚­‚È‚ç‚ñ‚ÆŽv‚¤‚¼w
‚È‚è‚Ü‚¹‚ñ
‚ ‚Ÿ‚ ‚ ‚Ÿ‚Ÿ‚Ÿ```–³—‚¾‚Á‚½‚©AA–³—‚È‚Ì‚©[Ia[0][0] = 1 ¨ syntax error
>>595
gawk‚ÌꇃCƒ“ƒfƒbƒNƒX‚ðSUBSEP(=\034‚ªƒfƒtƒHƒ‹ƒg)‚ð‹²‚ñ‚ŃVƒŠƒAƒ‰ƒCƒY‚µ‚½ƒCƒ“ƒfƒbƒNƒX‚Å‘½ŽŸŒ³”z—ñ‚ð•\Œ»‚·‚é
a[0,0] = 1;
‚È‚çOK‚Ì‚Í‚¸B‚±‚Ì‚Æ‚«‚̃Cƒ“ƒfƒbƒNƒX‚Í"0\0340"‚¾‚©‚çAa["0\0340"] == 1B
>>596
‚ ‚肪‚Æ‚¤BŽn‚ß‚©‚ç‚»‚ê‚ðˆÓŽ¯‚µ‚Ä‘‚¢‚Ä‚½‚ç‚æ‚©‚Á‚½‚ñ‚¾‚¯‚Ç‚ËB

god["name"] = "Kaname Madoka"
god["msg"] = "Mahoushoujo ha watashi dakede juubun dayo."
homerun["name"] = "Akemi Homura"
homerun["msg"] = "Madoka ha watashi no yome."
‚±‚ñ‚È•—‚É‘‚¢‚Ä‚¢‚½‚Ì‚ðA

puella_magi["god"] = god
puella_magi["homerun"] = homerun
‚Ý‚½‚¢‚ɂ܂Ƃ߂悤‚Æ‚µ‚½‚çA‚ ‚΂΂΂Î

awk‚Ì”z—ñ‚Á‚Ĉ—Œn‚É‚æ‚Á‚Ä‚Í“Y‚¦Žš‚ª®”‚Ìê‡Aˆ—‚ªÅ“K‰»‚³‚ê‚Ä‘‚­‚È‚Á‚½‚è‚·‚é‚Ì‚©‚ÈH
\‘¢‘Ì‚Ì‘ã‚í‚è‚Ý‚½‚¢‚ÉŽg‚¢‚½‚©‚Á‚½‚Ì‚¾‚ªB
name["god"] = "Kaname Madoka"
msg["god"] = "Mahoushoujo ha watashi dakede juubun dayo."
name["homerun"] = "Akemi Homura"
msg["homerun"] = "Madoka ha watashi no yome."

‚Å‚æ‚­‚ËH
awk‚Á‚Ä *‚Ç‚ÌŽÀ‘•‚Å‚à* ˆê“x‚àŽg‚Á‚½‚±‚Æ‚ª‚È‚¢•Ï”‚Ì“à—e‚Á‚ÄAƒXƒJƒ‰‚È‚ç0‚©""‚É‚È‚Á‚Ä‚é‚ÌH
•Ï”‚ªˆê“x‚à‘ã“ü‚³‚ê‚Ä‚¢‚È‚¢‚±‚Æ‚ð”»’è‚·‚邽‚ß‚ÉA(x==0 && x=="")‚Á‚Ä‘‚¢‚ĉ½‚©–â‘è‚È‚¢H
>>599
•]‰¿‚³‚ê‚é‚Æ‚«‚É•Ï”‚ª‘¶Ý‚µ‚È‚¯‚ê‚Î쬂³‚ê‚éB‚Í‚¸
”z—ñ‚Ì—v‘f‚È‚ç in ‚Å’²‚ׂç‚ê‚邯‚Ç
•Ï”Ž©‘Ì‚Æ‚È‚é‚Æ‚Ç‚¤‚¾‚낤‚Ë
>>599
‰½“x‚à‘ã“ü‚µ‚½ŒãAÅŒã‚É 0 or "" ‚ð‘ã“ü‚µ‚½•Ï”‚Æ‹æ•Ê‚Å‚«‚È‚¢B
>>600-601
‚ ‚肪‚Æ‚¤B‹æ•Ê‚Å‚«‚È‚¢‚Á‚ÄA‚Ç‚¤‚¢‚¤ó‘Ô‚É‚È‚é‚ÌH0‚ð‘ã“ü‚µ‚½‚ç0‚©"0"‚É•]‰¿‚³‚ê‚éB
‚ ‚ A""‚ð‘ã“ü‚µ‚½‚ç0‚©""‚É•]‰¿‚³‚ê‚Ä‘Ê–Ú‚Á‚Ä‚±‚Æ‚©IH
‚ ‚êHŽŽ‚µ‚½‚ç‚Ç‚Á‚¿‚ð‘ã“ü‚µ‚Ä‚à599‚ÌŽ®‚Í0‚É•]‰¿‚³‚ꂽ‚æB‹æ•Ê‚Å‚«‚È‚¢ƒP[ƒX‚Á‚Ä‚Ç‚¤‚¢‚¤ê‡H
BEGIN {
    # ‰Šú‰»’¼Œã (–¢Žg—p) ‚Ì•Ï”‚Í”’l (0) ‚Æ•¶Žš—ñ ("") ‚Ì—¼•û‚ÌŒ^‚ðŽ‚ÂB
    print x == 0, x == ""; # —¼•û‚Æ‚à^

    x = 0;
    print x == 0, x == ""; # ‘OŽÒ‚Ì‚Ý^B

    x = "";
    print x == 0, x == ""; # ŒãŽÒ‚Ì‚Ý^B

    # ‘¼‚Ì–¢Žg—p‚Ì•Ï”‚ð‘ã“ü‚·‚é‚Æ "ĉŠú‰»" ‚Å‚«‚éB
    x = y;
    print x == 0, x == ""; # —¼•û‚Æ‚à^B
}
> ‰Šú‰»’¼Œã (–¢Žg—p) ‚Ì•Ï”‚Í”’l (0) ‚Æ•¶Žš—ñ ("") ‚Ì—¼•û‚ÌŒ^‚ðŽ‚ÂB
IEEE Std 1003.1 ‚Ì awk ‚Ì EXTENDED DESCRIPTION ‚Ì
Variables and Special Variables ‚É‘‚¢‚Ä‚ ‚é‚ËB uninitialized value ‚Æ‚¢‚¤‚炵‚¢B
POSIX‚É€‹’‚µ‚Ä‚éawk‚Ȃ炱‚¤‚È‚é‚Ý‚½‚¢‚¾‚¯‚ÇAƒIƒŠƒWƒiƒ‹‚Í’m‚ç‚ñB

ĉŠú‰»‚·‚é‚È‚ç$(NF+1)Žg‚¤‚Ù‚¤‚ª‚¢‚¢‚©‚à‚ËB–¢Žg—p‚Ì•Ï”‚ð—pˆÓ‚µ‚È‚­‚Ä‚¢‚¢B
‚¾‚¯‚ÇA‚»‚ꂪ•K—v‚Èê–Ê‚ªŽv‚¢•‚‚©‚΂Ȃ¢‚ªB

ŠÖŒW‚È‚¢‚¯‚ÇAabsŠÖ”‚Á‚Ä‚È‚¢‚ñ‚¾‚ËB•Ê‚É—Ç‚¢‚¯‚ÇAƒÎ‚âA
0‚æ‚è‘å‚«‚¢Å¬‚Ì•‚“®¬”“_”‚Í’è‹`‚µ‚Ä‚Ä‚Ù‚µ‚¢‚È‚ B
>>605
> ĉŠú‰»‚·‚é‚È‚ç$(NF+1)Žg‚¤‚Ù‚¤‚ª‚¢‚¢‚©‚à‚ËB–¢Žg—p‚Ì•Ï”‚ð—pˆÓ‚µ‚È‚­‚Ä‚¢‚¢B
ƒtƒB[ƒ‹ƒh•Ï”‚Íí‚É•¶Žš—ñŒ^‚ÅA ”’lŒ^‚ÍŽ‚½‚È‚¢B
607 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/06/02(–Ø) 22:47:31.10
ƒÎ‚Íatan2(0,-1)‚Å‚¢‚¢‚Æ‚µ‚Ä
u0‚æ‚è‘å‚«‚¢Å¬‚Ì•‚“®¬”“_”v‚Á‚Ä‚Ç‚¤’è‹`‚µ‚Ä‚¢‚ÂŽg‚¤‚Ì?
u0‚æ‚è‘å‚«‚¢Å¬‚Ì•‚“®¬”“_”v‚Æ‚¢‚¤‚Ì‚ª‰½‚ðŠó–]‚µ‚Ä‚¢‚é‚©‚É‚æ‚éB
ˆÈ‰º‚Ì3Ží—Þ‚ª‚ ‚éB

(1) Ŭ‚̳‚Ì”ñ³‹K”
(2) Ŭ‚̳‚̳‹K”
(3) 1.0‚É‘«‚µ‚ÄŠÛ‚ß‚½Œ‹‰Ê‚ª1.0‚æ‚è‘å‚«‚­‚È‚éŬ‚Ì”
>>606
‚ ‚¿‚áI‚»‚¤‚Å‚µ‚½B$‚Å–ß‚é‚Ì‚Í•¶Žš—ñ‚¾‚Á‚½B
‚»‚ÌŽd—l‘“Ç‚ñ‚Å‚é‚ÆANF‚ðŠg’£‚µ‚½‚Æ‚«AŒ³X‚È‚©‚Á‚½Š‚Íuninitialized value‚É‚È‚é‚Á‚Ä‚ ‚Á‚½‚Ì‚ÅB

>>607
‚»‚ê‚Å‚¢‚¢‚ñ‚¾‚¯‚ÇAPI‚Æ‚©‚ÅŽQÆ‚Å‚«‚½‚ç‚à‚Á‚Æ‚¢‚¢A‚ÆŽv‚Á‚½‚Ì‚Å‚·B
>>608
”’lŒvŽZ‚Ì‚½‚ß‚ÉAC‚ÌDBL_EPSILON‚Ì‘ã‚í‚è‚É‚È‚é’蔂ª—~‚µ‚¢‚È‚ÆB
”CˆÓ‚̸“x‚ÅŠÛ‚ß‚ç‚ê‚éŠÖ”‚à‚È‚¢‚Å‚·‚µB
DBL_EPSILON‚ª>>608‚Ì(1)`(3)‚Ì‚Ç‚ê‚©‚í‚©‚ç‚È‚¢H
”’lŒvŽZ‚ÌŠî–{‚È‚ñ‚¾‚ªB
611 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/06/10(‹à) 21:49:33.34
•Ï”–¼‚È‚ÇAŽ©‘O‚Å‚ ‚Á‚Ä‚à‹K‘¥‚ðˆÓŽ¯‚µ‚Ä‚¢‚é•û‚¢‚Ü‚·‚©H
awk‚¾‚ÆA‚b•—‚ªˆê”Ê“I‚È‚Ì‚Å‚µ‚傤‚©H
ˆê”Ôʼn‚ªVBA‚¾‚Á‚½‚Ì‚ÅA’·‚¢–¼‘O‚ÆÈ—ª‚ª¬‚´‚Á‚Ä‚µ‚Ü‚Á‚Ä
Ž©•ª‚ŃCƒ‰ƒCƒ‰‚µ‚Ä‚¢‚Ü‚·B
‚Ý‚È‚³‚ñ‚ÌA’Êí‚Ì•Ï”‚Í‚±‚¤A”z—ñ‚Í‚±‚¤A’蔂͂±‚¤A•¶ŽšŒ^‚Í‚±‚¤¥¥¥
‚Æ‚¢‚¤‚à‚Ì‚ðŽQl‚É‚µ‚½‚¢‚Å‚·B
>>611
ƒVƒXƒeƒ€ƒnƒ“ƒKƒŠƒAƒ“‚ðÌ—p‚·‚é‚©‚Ç‚¤‚©”Y‚Þ‚Ù‚Ç‘å‚«‚È‚à‚Ì‚ðawk‚Å‘‚¢‚½‚±‚Æ‚ª–³‚¢
613 F‚©‚ ‚½F2011/06/13(ŒŽ) 18:37:34.88
A5‚È‚í‚â‚ ‚Ó‚§t( ())
>>611
’xƒŒƒX‚¾‚ªAŒ^_“à—e‚Ìà–¾_–¼‘O‚Ý‚½‚­‚µ‚Ä‚éB–¼‘O‚ªˆê•¶Žš‚¾‚Æ‚»‚Ì‚Ü‚Ü‚¾‚¯‚ÇB
ƒOƒ[ƒoƒ‹•Ï”‚ƃ[ƒJƒ‹•Ï”‚Ì‚Ç‚Á‚¿˜M‚Á‚Ä‚é‚Ì‚©•ª‚©‚è‚â‚·‚¢‚悤‚ÉAƒ[ƒJƒ‹•Ï”‚Í•K‚¸l‚ÅŽn‚ß‚é‚悤‚É‚µ‚Ä‚éB
d_per_shouhizei = 5.0‚Æ‚©‚ËB
615 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/06/20(ŒŽ) 18:37:26.17
gawk‚ÅBINMODE‚ðÝ’è‚·‚ê‚΃oƒCƒiƒŠ[‚Ì“üo—Í‚ª‚Å‚«‚é‚Ì‚Í‚í‚©‚é‚Ì‚Å‚·‚ªA
“ü—Í‚³‚ꂽƒoƒCƒiƒŠ[‚ð16iƒ_ƒ“ƒv‚µ‚Ä•\Ž¦‚·‚é‚É‚Í‚Ç‚¤‚µ‚½‚ç‚æ‚¢‚Å‚µ‚傤‚©H
od“™‚ÌŠO•”ƒRƒ}ƒ“ƒh‚ðŽg‚¤ˆÓŠO‚É•û–@‚ª‚ ‚ê‚΂¨‹³‚¦‚­‚¾‚³‚¢B
printf("%02x\n", $1);
617 F“VŽg ŸuL5esZLBSE F2011/07/05(‰Î) 00:15:13.83
“ñ“x‚Ƙb‚©‚¯‚ñ‚È‚æ
‚¨‘O‚ç‚Á‚Ä‚Ç‚¤‚Ý‚Ä‚àƒSƒ~‚¾‚æ‚È
ƒSƒ~‚ñ‚È‚³‚¢
>>595
gawk4.0.0‚Åa[0][0]=1‚à‰Â”\‚É‚È‚Á‚½‚¶‚á‚È‚¢‚©
’´‰SŽÒ‚ÌŽ¿–â‚Å\‚µ–ó‚ ‚è‚Ü‚¹‚ñBˆÈ‰º‚̂悤‚ȃf[ƒ^‚ð
aaa 10
bbb 20
ccc 30
aaa 30
bbb 30
aaa 15
ccc 30
ddd 20
ˆÈ‰º‚̂悤‚É‚Ü‚Æ‚ß‚½‚¢‚Ì‚Å‚·‚ªA‚Ç‚¤‚µ‚½‚ç‚¢‚¢‚Å‚µ‚傤‚©H
aaa 55
bbb 50
ccc 60
ddd 25
ddd 20 ‚Å‚Í‚È‚¢‚©‚ÆŽv‚¤‚ª‚±‚ñ‚ÈŠ´‚¶‚©‚È
awk '{a[$1]+=$2} END {for (b in a) {print b " " a[b]}}' | sort
Gawk4‚È‚çPROCINFO["sorted_in"]‚ÌÝ’è‚ÅÅŒã‚Ìsort‚ª—v‚ç‚È‚­‚È‚é
623 F620F2011/07/30(“y) 23:22:20.03
>621
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·I‚¤‚Ü‚­‚¢‚«‚Ü‚µ‚½B
gawk‚Í‚à‚¤•ÊŒ¾Œê‚ȃCƒ[ƒWB•’imawkŽg‚Á‚Ä‚é‚Æ
‚±‚±‚Á‚Ķ‚«‚Ä‚Ü‚·‚©H
¶‚«‚Ä‚Ü‚·‚ñ
¶‚«‚Ä‚¢‚邱‚Æ‚ðŠè‚Á‚ÄŽ¿–â‚ðB
WIN32‚ÌEXEˆê‚‚ÅA‰º‚ÌTEST.AWK‚ªƒ}ƒgƒ‚‚É“®‚­AWK‚ð’T‚µ‚Ä‚¢‚Ü‚·B
‚±‚ê‚çˆÈŠO‚É‚ ‚è‚Ü‚·‚©H

http://hinadori.atnifty.com/~wills/program/gawkm115.zip
http://my.vector.co.jp/servlet/System.FileDownload/download/http/0/376460/pack/win95/util/text/awk/gawk-mbcs-win32-20051223.zip?ds
http://my.vector.co.jp/servlet/System.FileDownload/download/http/0/80308/pack/win95/util/text/awk/mw32r27.lzh?ds

Cygwin”Å‚àŽŽ‚µ‚½‚Ì‚Å‚·‚ªƒ_ƒ‚Å‚µ‚½B

TEST.AWK
{ gsub("[0-9]","x",$0) ; gsub("¿","ƒ\",$0) ; gsub("T","‚s",$0) ; print }

TEST.DAT
±²³´µ¶·¸¹º»¼½¾¿
ƒRƒRƒRƒRƒTƒtƒTƒRƒRƒRƒRƒR
ƒRƒRƒRƒRƒTƒtƒTƒRƒRƒRƒR
ƒRƒRƒRƒRƒTƒtƒTƒRƒRƒRƒRƒR
ƒRƒRƒRƒRƒTƒtƒTƒRƒRƒRƒRƒR
ƒTƒtƒTƒtƒTƒtƒTƒtƒTƒtƒT
ƒRƒRƒRƒRƒTƒtƒTƒRƒRƒRƒRƒR
ƒRƒRƒRƒRƒTƒtƒTƒRƒRƒRƒR
ƒRƒRƒRƒRƒTƒtƒTƒRƒRƒRƒRƒR
ƒRƒRƒRƒRƒTƒtƒTƒRƒRƒRƒRƒR
ƒTƒtƒTƒtƒTƒtƒTƒtƒTƒtƒT
628 F627F2011/08/19(‹à) 01:00:20.60
TEST.DAT‚ÍA‹ó”’‚ª“ü‚Á‚Ä‚¢‚Ü‚·B
êƒuƒ‰‚̃|ƒbƒvƒAƒbƒv‚ðƒRƒsƒy‚µ‚ĉº‚³‚¢B
ƒEƒ`‚É‹A‚Á‚Ä‚©‚ç’²‚ׂĂ݂é‚æ
>>627|628
cygwin‚Ìawk(GNU Awk 3.1.8)‚Å“®‚­‚¯‚ÇA‚Ç‚¤‚È‚é‚Í‚¸‚ª‚Ç‚¤“®‚©‚È‚¢‚ÆŒ¾‚Á‚Ä‚¢‚é?
>627‚Ìtest.dat‚È‚çA“–‘Ruƒ\v‚¾‚¯‚ª•ÏŠ·‚³‚ê‚邯‚ÇB
iCygwin‚È‚çUTF8‚¶‚á‚È‚¢‚Æ‚¤‚Ü‚­“®‚©‚È‚¢‚¯‚ÇjShift JIS‚Å“®ì‚³‚¹‚½‚¢‚Á‚Ä‚±‚Æ‚©‚ÈH
Ž–‘O‚ÉTEST.DAT‚ðnkf -w‚É’Ê‚µ‚½‚ç‘Ê–Ú‚©‚ÈB
632 F629F2011/08/19(‹à) 21:59:57.43
>>627
ƒXƒNƒŠƒvƒg‚àDAT‚àSJIS‚ÅŽŽ‚µ‚½‚¯‚ÇAã‹L3‚‚̂¤‚¿Agawk-mbcs-win32-20051223.zip‚̓_ƒ‚¾‚Á‚½‚æB
1s–Ú‚ª‚±‚ñ‚È‚ñ‚È‚éB

±xx´µ¶·¸xº»xxxƒ\

ŽèŽ‚¿‚Ì
GNU Awk 3.1.7(windows special Nov 24 2009)
‚ÅA--ctype=SJIS‚â‚Á‚Ä‚à“¯‚¶Œ‹‰Ê‚É‚È‚é‚ËB

ƒXƒNƒŠƒvƒgADAT‚ðUTF-8‚É‚µ‚ÄA--ctype=UTF8‚â‚Á‚ăŠƒ_ƒCƒŒƒNƒg‚µ‚½ƒtƒ@ƒCƒ‹‚ͳí‚ÈŒ‹‰Ê‚ªo‚é‚æB
ƒŠƒ_ƒCƒŒƒNƒg‚µ‚È‚¢‚ŃRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚É•\Ž¦‚³‚¹‚é‚Ɖ»‚¯‚邯‚ÇB
EUC‚Ȃ甼ŠpƒJƒi‚à‚¤‚Ü‚­‚â‚Á‚Ä‚­‚ê‚é‚ñ‚¾‚ªc
634 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/08/24(…) 08:07:37.54
gawk‚̓Kƒ“ƒKƒ“‹@”\‚ðŠg’£‚µ‚Ă邯‚ÇA
‚»‚ë‚»‚ëOOP‘Ήž‚µ‚Ä‚­‚ê‚È‚¢‚©‚ÈB
awk++‚Æ‚©‚ ‚邯‚ÇA•W€‚ÅOOP‚Å‚«‚ê‚Í•Ö—˜B
> OOP
...‚à‚Í‚âawk‚Å‚â‚éˆÓ–¡‚ª–³‚¢w ‘¼‚É‚¢‚­‚ç‚Å‚à‚ ‚é•Ê‚ÌŒ¾Œê‚Å‚¢‚¢‚¶‚á‚ñ
awk‚ÉÝ‚é‚Æ•Ö—˜‚©‚à‚ÆŽv‚¤‚Ì‚ÍŽQÆ’l‚­‚ç‚¢‚©‚È

”z—ñ‚âŠÖ”‚Ö‚ÌŽQÆ‚ð’l‚Æ‚µ‚ÄŽæ‚èo‚µŠi”[‚µ‚½‚è
‹t‚É‚»‚Ì’l‚©‚猳‚Ì”z—ñ‚ɃAƒNƒZƒX‚µ‚½‚茳‚ÌŠÖ”‚ðŒÄ‚ñ‚¾‚èo—ˆ‚é‚Æ
‘Š“–‚É•¡ŽG‚ȃf[ƒ^\‘¢‚ª•\Œ»‰Â”\‚É‚È‚éA‚»‚ꂱ‚»OOP‚Á‚Û‚¢‚±‚Æ‚à‰Â”\‚¾‚µ

‚Å‚à‚ ‚ñ‚Ü‚è‚â‚₱‚µ‚¢‚±‚Æ‚â‚é‚È‚çPerl‚Å‚¢‚¢‚©‚ç•K{‚Å‚Í‚È‚¢‚Ë
> ŠÖ”‚ðŒÄ‚ñ‚¾‚è

•Ï”‚Ì’l‚ðŠÖ”–¼‚Æ‚µ‚Ä
var = "sage";
@var();
‚Á‚Ä‚Å‚«‚邯‚ÇA‚»‚ê‚Ƃ͈Ⴄ‚Ì‚ñH


‚¨‚æA‚à‚¤‚ ‚é‚Ì‚©w
Å‹ß‚Ìawk‚Í•ª‚©‚ç‚Ë‚¦c‚Á‚Ä‚±‚Æ‚ÍA”z—ñ‚Ö‚ÌŽQÆ‚ðŽg‚Á‚Ä“ü‚êŽq‚Ì”z—ñ‚Æ‚©Šù‚Éì‚ê‚¿‚á‚Á‚½‚è‚·‚é‚Ì‚©H
”z—ñ‚Ì”z—ñ‚Íì‚ê‚é‚æBgawk4‚È‚çB
iL_TMjÌ°Ý
641 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/08/25(–Ø) 20:52:51.07
class human {
@@property name
@@property sex
@@property age
@@method new(x, y, z) {
@@@@name = x
@@@@sex = y
@@@@age = z
@@}
@@method say() {
@@@@printf("Ž„‚Í%sB%d΂Ì%s‚Å‚·B\n",name, age, sex)
@@}
}
class japanese : human {
@@property name
@@property sex
@@property age
@@method say() {
@@@@printf("Ž„‚Í%sB%d΂Ì%s‚Å‚·B‘Ђ͓ú–{‚Å‚·B\n", name, age, sex)
@@}
}
BEGIN {
@@alice = human.new("ƒAƒŠƒX", "—", 11)
@@taro = japanese.new("‘¾˜Y", "’j", 15)
@@yuka = japanese.new("—R‰À", "—", 18)
@@alice.say()
@@taro.say()
@@yuka.say()
}
642 F641F2011/08/25(–Ø) 20:58:10.41
>>635
http://code.google.com/p/lawker/source/browse/fridge/lib/bash/awk%2B%2B/
‚±‚ê‚ðŽg‚¦‚΂±‚Ì’ö“x‚ÌOOP‚Í‚Ç‚¤‚É‚©‚Å‚«‚éB
–{“–‚É‚±‚Ì’ö“x‚Å‚¢‚¢‚©‚çOOP‚ɑΉž‚µ‚Ä‚Ù‚µ‚¢B
Žg‚¤l‚Í‚Ù‚Æ‚ñ‚Ç‚¢‚È‚¢‚ÆŽv‚¤‚ªA‘S‚­‚Å‚«‚È‚¢‚̂ࢂéB
‚»‚ê‚ÍÅ‘awk‚Å‚ ‚é•K—v‚ª‘S‚­–³‚¢
function Human(self,name,sex,age) {
self["property___name"] = name
self["property___sex"] = sex
self["property___age"] = age
self["method___say"] = "Human___say"
}
function Human___say(self) {
printf "Ž„‚Í%sB%d΂Ì%s‚Å‚·B\n", self["property___name"], self["property___age"], self["property___sex"]
}

function Japanese(self,name,sex,age) {
Human(self,name,sex,age)
self["method___say"] = "Japanese___say"
}
function Japanese___say(self) {
printf "Ž„‚Í%sB%d΂Ì%s‚Å‚·B‘Ђ͓ú–{‚Å‚·B\n", self["property___name"], self["property___age"], self["property___gender"]
}

function methodcall(obj,methodname, m) {
m = obj["method___" methodname]
@m(obj)
}

BEGIN {
Human(alice, "ƒAƒŠƒX", "—", 11)
Japanese(taro, "‘¾˜Y", "’j", 15)
Japanese(yuka, "—R‰À", "—", 18)
methodcall(alice,"say")
methodcall(taro,"say")
methodcall(yuka,"say")
}
‚²‚ß‚ñˆê•”gender‚É‚È‚Á‚Ä‚é‚©‚çsex‚É’¼‚µ‚Æ‚¢‚Ä

‚Æ‚è‚ ‚¦‚¸A‚±‚ñ‚ÈŠ´‚¶‚Ågawk4‚Å‚àOOPŽ©‘Ì‚Ío—ˆ‚é‚æ‚Á‚Ęb
646 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/08/27(“y) 15:07:17.61
>>644
‚È‚é‚Ù‚Ç‚Ë[
‚Æ‚Ä‚à•×‹­‚É‚È‚è‚Ü‚·

‚Å‚àA‚â‚Á‚Ï‚èOOP—p‚Ì\•¶‚ªŽg‚¦‚ê‚΃xƒXƒg‚Å‚·‚Ë
‚»‚Ì‚Ù‚¤‚ª‚í‚©‚è‚â‚·‚¢‚ÆŽv‚¢‚Ü‚·
‚â‚Á‚Ï•ÊŒ¾ŒêŽg‚¤‚ׂ«‚¾‚ë
–{“–‚É—~‚µ‚¢‚ñ‚È‚çAgawk‚ÌML‚É‚±‚¤‚·‚ê‚ÎOOPŽÀŒ»‚Å‚«‚邱‚Æ‚ð”­Œ©‚µ‚½‚ñ‚¾‚¯‚ÇA
‚±‚ê‚Ì“œˆß\•¶‚ð—pˆÓ‚µ‚Ä‚­‚ê‚Á‚Ä“Še‚·‚é‚Æ‚¢‚¢‚ñ‚¶‚á‚Ë
switch‚àŽÀ‘•‚³‚ê‚Ă邵A—~‚µ‚¢l‚ª‹‚é‚Æ•ª‚©‚ê‚Εt‚¯‚Ä‚­‚ê‚é‚©‚à‚æ
#! /usr/bin/env python
# -*- coding: utf-8 -*-

class human:

@@def __init__(self, name, sex, age):
@@@@self.name = name
@@@@self.sex = sex
@@@@self.age = age

@@def say(self):
@@@@print("Ž„‚Í" + self.name + "B" + str(self.age) + "΂Ì" + self.sex + "‚Å‚·B")

class japanese(human):

@@def __init(self):
@@@@super(human, self).__init__(self)

@@def say(self):
@@@@print("Ž„‚Í" + self.name + "B" + str(self.age) + "΂Ì" + self.sex + "‚Å‚·B‘Ђ͓ú–{‚Å‚·B")

if __name__ == "__main__":

@@alice = human("ƒAƒŠƒX", "—", 11)
@@taro = japanese("‘¾˜Y", "’j", 15)
@@yuka = japanese("—R‰À", "—", 18)
@@alice.say()
@@taro.say()
@@yuka.say()
python‚Å‘‚¢‚Ä‚Ý‚é‚ÆA
>>641‚Æ”ä‚ׂé‚Æ“Á‚É‚í‚©‚è‚â‚·‚¢‚킯‚Å‚à‚È‚¢‚¯‚Ç
>>644‚æ‚è‚Í‚í‚©‚è‚â‚·‚¢
‚»‚è‚áawk‚ÍOOPL‚Å‚Í‚È‚¢‚©‚ç‚È
‚ ‚­‚܂ŃVƒFƒ‹‚Ì‚¨‹Ÿ‚Å‚¢‚¢‚ÆŽv‚¤‚ñ‚¾
‚»‚µ‚Ä‚»‚±‚É‚“x‚ÈOOP‹@”\‚Í—v‚é‚Æ‚ÍŽv‚¦‚È‚¢
‚Ç‚¿‚ç‚©‚ÆŒ¾‚¦‚΃tƒB[ƒ‹ƒh’Šo‚Æ‚©‚ð‚à‚Á‚Æ•Ö—˜‚É‚·‚ׂ«‚¾‚æ
cygwinˆÈŠO‚Ågawk4.0‚ðwindows‚ÅŽg‚¨‚¤‚ÆŽv‚Á‚½‚çAƒoƒCƒiƒŠ‚Í‚Ç‚±‚Å“üŽè‚Å‚«‚à‚¤‚·‚©‚ËH
cygwin ‚Å‘Ê–Ú‚È——R‚ª•ª‚©‚ç‚È‚¢‚©‚狳‚¦‚ç‚ê‚È‚¢B
>654 ‚³‚ñ‚­‚·‚±

>653 awk‚ÌŽÀsŒ`Ž®‚¾‚¯“üŽè‚·‚ê‚Ηǂ¢‚悤‚É‚µ‚½‚¢‚Ì‚³B
ƒoƒCƒiƒŠŒÝŠ·‚ÌWindows‚È‚Ì‚ÉAcygwin‚Äexe‚ð‚à‚Á‚Ä‚­‚¾‚¯‚¶‚áŽg‚¦‚È‚¢‚ÌH
•¨‚É‚æ‚Á‚Ä‚ÍŽg‚¦‚½‚悤‚È‹C‚ª‚·‚éB
cygwin1.dll‚¾‚Á‚¯H‚ɃpƒX‚ª’Ê‚Á‚Ä‚ê‚Αå‘ÌŽg‚¦‚½‚悤‚È‹C‚ª‚·‚éB
Œ‹\‘òŽR‚Ìdll‚ª—v‚é‚æ
ƒRƒ}ƒ“ƒh‚É‚æ‚邯‚Ç
‹³‚¦‚Ä‚­‚¾‚³‚¢B‰pŒê“¾ˆÓ‚Èl

http://www.gnu.org/s/gawk/manual/gawk.html#Array-Sorting-Functions
‚Ì@asort(), asorti()‚ÅŽg‚¤ƒ†[ƒU[’è‹`‚Ì”äŠrŠÖ”‚ɂ‚¢‚Ä
3”Ԗڂ̈ø”‚ÆPROCINFO["sorted_in"]‚ÉÝ’è‚·‚é‚̂ƈႤ‚Ì‚©“¯‚¶‚È‚Ì‚©H

‚»‚ê‚Æ
http://www.gnu.org/s/gawk/manual/gawk.html#String-Functions
‚É‘‚¢‚Ä‚ ‚é3”Ԗڂ̈ø”‚Ìà–¾("descending"‚Æ‚©)‚ª—¼—§‚µ‚Ä‚ñ‚ÌH
http://www.gnu.org/s/gawk/manual/gawk.html#Array-Sorting-Functions
As with PROCINFO["sorted_in"], this argument may be the name of a user-defined function, ....

http://www.gnu.org/s/gawk/manual/gawk.html#String-Functions
The third argument can also be a user-defined function name ....
‘æŽOˆø”‚Ì’l‚Æ“¯–¼‚ÌŠÖ”‚ª’è‹`Ï‚Ý‚È‚ç‚»‚ê‚ð—˜—p‚·‚é‚Æ‚©A
‚»‚¤‚¢‚¤•û–@‚Å‹æ•Ê‚µ‚Ä‚é‚ñ‚¶‚á‚È‚¢‚Ì
>>659
”äŠrŠÖ”‚Ì—^‚¦•û‚ÍPROCINFO["sorted_in"]‚ÌꇂƓ¯‚¶‚Á‚Ä‚±‚Æ‚¾‚ëB

Ž©•ª‚Å’è‹`‚µ‚½ŠÖ”‚Ì–¼‘O‚Å‚à‚¢‚¢‚µA11.2.1.2‚É‘‚¢‚Ä‚ ‚é‚悤‚É‚·‚Å‚É—pˆÓ
‚³‚ê‚Ä‚¢‚é@`‚ðŽg‚Á‚Ä‚à‚¢‚¢B

ŒÂl“I‚É‚ÍAGAWK‚É‚Í‚ ‚ÆAC‚Å‘‚¢‚½ŠÖ”‚̌ĂÑo‚µ‚Æ‚¢‚¤‚©
GAWK‚ŌĂԊ֔‚ðC‚Å‘‚¯‚é‹@”\‚ª—~‚µ‚¢‚ÆŽv‚Á‚Ä‚é‚ñ‚¾‚¯‚ÇA
‚±‚±Œ©‚éŒÀ‚袊ԓI‚É‚Í‚ ‚ñ‚Ü‚èŽù—v‚È‚¢‚ñ‚©‚Ë‚¥B

‚Ü‚ŸA‚»‚ê‚â‚é‚­‚ç‚¢‚È‚çGAWKŽ©‘Ì‚É•ÏX‚ð‰Á‚¦‚ÄăRƒ“ƒpƒCƒ‹‚µ‚ë‚Á‚Ä‚±‚Æ‚©‚à‚µ‚ê‚È‚¢‚¯‚ÇB
P‚Æ‚©RŽg‚¦Œ¾‚í‚ê‚é‚ÆŽv‚¤B
>>662
ttp://www.gnu.org/s/gawk/manual/html_node/Dynamic-Extensions.html
‚¶‚áƒ_ƒH«—ˆ“I‚É‚³‚ç‚ÉŠg’£‚³‚ê‚é‰Â”\«‚Í‚ ‚é‚Ý‚½‚¢‚¾‚¯‚Ç
Å‹ßawkcard‚ð’m‚Á‚ÄÀ‰E‚É’u‚¢‚Ä‚é‚Ì‚¾‚ªA“ú–{Œê”Å‚Á‚Ä‘¶Ý‚·‚é‚Ì‚¾‚낤‚©B
666 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/12/22(–Ø) 16:57:35.32
ttp://gauc.no-ip.org/awk-users-jp/blis.cgi/DoukakuAWK_271
‚±‚±‚É‘‚¢‚Ä‚ ‚é’Ê‚è‚É‚µ‚Ä‚à“ú–{Œê‚É–|–󂳂ê‚Ü‚¹‚ñ
‚Ç‚¤‚µ‚Ä‚Å‚·‚©H
ŠÂ‹«‚Í LinuxMint12 A GNU Awk 3.1.8 ‚Å‚·
>>666
‚»‚Ì’Ê‚è‚É‚â‚Á‚½‚ÆŒ¾‚¤‚Ì‚È‚çA‰½ŒÌpoƒtƒ@ƒCƒ‹‚ð’ñŽ¦‚µ‚È‚¢‚Ì‚©‚ËAƒ_ƒ~ƒAƒ“ŒNB
>>667
po‚Í쬂µ‚Ü‚µ‚½‚µAmo‚àŠ’è‚̃fƒBƒŒƒNƒgƒŠ‚É‚ ‚è‚Ü‚·B
po‚ÍŽ©•ª‚Å•ÒW‚µ‚Ä‚àA‚»‚̃TƒCƒg‚Ì“à—e‚ðƒRƒsƒy‚µ‚Ä‚àƒ_ƒ‚Å‚µ‚½B

$ cat gettext.po
#: gettext.awk:10
msgid "********** Count Prime Number **********"
msgstr " ‘f”‚𔂦‚é "

#: gettext.awk:14
msgid "2 is a prime number."
msgstr "2 ‚Í‘f”‚Å‚·B"

#: gettext.awk:24
msgid "%d is a prime number.\n"
""
msgstr "%d ‚Í‘f”‚Å‚·B\n"

$ ls ja_JP/LC_MESSAGES/
gettext.mo
Œ‹‰Ê‚Í‚±‚Ì’Ê‚è‚Å‚·B

$ LC_ALL=ja_JP gawk -f gettext.awk 10
********** Count Prime Number **********
2 is a prime number.
3 is a prime number.
5 is a prime number.
7 is a prime number.
‚¸‚¢‚Ô‚ñawk‚©‚ç—£‚ê‚Ä‚¢‚Ä‹v‚µ‚Ô‚è‚ÉŽg‚Á‚½‚ç
nawk‚É“ú–{Œê‚̃oƒO‚ª‚ ‚邱‚Æ‚É‚µ‚΂炭‹C‚©‚È‚©‚Á‚½
substr()‚Åutf-8‚̃eƒLƒXƒg‚ðØ‚èo‚·‚Æ‚¨‚©‚µ‚È’l‚É‚È‚é
gawk‚Å‚Í’¼‚Á‚Ä‚¢‚é
‚»‚à‚»‚àUTF-8‚ɑΉž‚µ‚Ä‚½‚Á‚¯
ttp://blog.livedoor.jp/corbie/archives/cat_94960.html
Žc”O‚È‚ª‚çAƒVƒtƒgJISAUTF-8—¼•û‚ųí‚É“®ì‚µ‚»‚¤‚ÈWindows”Ågawk‚ÍŒó•â‚Ì’†‚É‚ ‚è‚Ü‚¹‚ñ‚Å‚µ‚½B
Linux‚Å‚Í•’Ê‚É“®‚­‚ªc
ƒtƒ@ƒCƒ‹–¼‚ª"*.txt"‚̈ꗗ‚ðŽæ“¾‚·‚é‚Æ‚«A"\.txt"‚Ń}ƒbƒ`‚³‚¹‚é‚ÆA”CˆÓ‚̈ꕶŽš.(ƒhƒbƒg)‚ƉðŽß‚³‚ê‚Ä‚µ‚Ü‚¤‚ñ‚Å‚·‚ªA‚¢‚¢•û–@–³‚¢‚Å‚µ‚傤‚©H
GNU Awk 3.1.7‚¾‚ƃhƒbƒg‚Ƀ}ƒbƒ`‚µ‚½‚¯‚Ç‚»‚à‚»‚àawk‚̘bH
‹ï‘Ì“I‚ɃRƒ}ƒ“ƒh‚ª‚Ù‚µ‚¢‚È
º˜a‚Ì Šo‚¦‚½ƒAƒZƒ“ƒuƒ‰‚ÆCŒ¾Œê
‚±‚ꂪ‚ ‚Á‚½‚©‚ç
‚¢‚Ü‚¾‚ÉŽ©•ª‚ª‘¹‚È‹ÆŠE‚ŔтðH‚Á‚Ä‚é
>>676
‚»‚±‚©‚ç‚Š‚‚–‚‚És‚Á‚ăXƒ}ƒzƒAƒvƒŠŠJ”­‚È‚ç‚à‚¤ˆê‰Ôç‚¢‚½‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚Ë‚—
”nŽ­‚É‚Í–³—
679 F674F2012/04/30(ŒŽ) 18:07:43.22
>>675
ls | awk '{ if( match($0,"\.txt") > 0) print $0 }'
ª‰ïŽÐ‚̃T[ƒoã‚Å‚±‚ñ‚ÈŠ´‚¶‚Ì‚±‚Æ‚â‚낤‚Æ‚µ‚Ä‚½‚ñ‚Å‚·‚ªA
ugawk: Œx: ƒGƒXƒP[ƒvƒV[ƒPƒ“ƒX `\.' ‚Í `.' ‚Æ“¯“™‚Ɉµ‚í‚ê‚Ü‚·v
‚ƃƒbƒZ[ƒW‚ªo—Í‚³‚êAƒhƒbƒg‚ª”CˆÓ‚̈ꕶŽšH‚ƉðŽß‚³‚ê‚Ä¢‚Á‚Ä‚¢‚Ü‚µ‚½‚ªA
Ž©ŒÈ‰ðŒˆ‚µ‚Ü‚µ‚½B(Ž©‘î‚ÌLinuxPC‚Å“®ìŠm”F‚µ‚Ü‚µ‚½BGAWK3.1.7‹y‚Ñ4.0.1)
"\.txt"‚Å‚Í–³‚­‚ÄA".txt"‚Å—Ç‚©‚Á‚½‚ñ‚Å‚·‚ËB
‚¨‘›‚ª‚¹‚µ‚Ü‚µ‚½B

‚à‚µ‚©‚µ‚½‚çA‰ïŽÐ‚̃T[ƒo(RHEL)‚ÌGAWK‚ªŒÃ‚­‚Ä‰ðŒˆ‚Å‚«‚Ä‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªB
>>679
match() ‚Ì‘æ“ñˆø”‚É•¶Žš—ñ‚ð—^‚¦‚½ê‡‚ÍŽ–‘O‚ɳ‹K•\Œ»‚Ö‚ÌŒ^•ÏŠ·‚ªs‚í‚ê‚邪A
‚»‚ÌۂɃGƒXƒP[ƒv‚ªŠO‚ê‚Ä /.txt/ ‚Æ“¯“™‚É‚È‚Á‚Ä‚µ‚Ü‚¤A ‚Æ‚¢‚¤‚±‚Æ‚©‚ÆB
‚‚܂è "\\.txt" ‚Æ‚·‚é‚©A ³‹K•\Œ»‚Ì /\.txt/ ‚ð—^‚¦‚ê‚΂悢B

The GNU Awk User's Guide ‚É‚à‚±‚ÌŒ»Û‚ɂ‚¢‚Ä‚Ìà–¾‚Í‚ ‚邪A
~ !~ ‰‰ŽZŽq‚ɂ‚¢‚Ä‚µ‚©G‚ê‚ç‚ê‚Ä‚¢‚È‚¢B
ttp://www.kt.rim.or.jp/~kbk/gawk-30/gawk_5.html#SEC32
gawk4.0.2•t‘®‚ÌŒ´”Å‚Å‚Ímatch‚Ìà–¾‚É‚à‚»‚Ì•ÓG‚ê‚ç‚ê‚Ä‚é‚ËB
http://www.gnu.org/software/gawk/manual/html_node/String-Functions.html#String-Functions
’N‚©‚±‚̃o[ƒWƒ‡ƒ““ú–{Œê‰»‚µ‚Ä‚È‚¢‚©‚ÈB
FIFO‚ÈŠ´‚¶‚Ìæ“ü‚êæo‚µ‚̃oƒbƒtƒ@‚ɂ͉½Žg‚¦‚΂¢‚¢H
‚Æ‚¢‚¤‚©A
Array‚ÅA‚½‚Æ‚¦‚ÎA[3] ‚©‚çA[8]‚܂ł̃f[ƒ^‚ðA[1]‚©‚çA[6]‚É“®‚©‚·‚ɂ͉½‚ªˆê”Ô‘‚¢H
‚Å‚«‚ê‚Δz—ñ‚Í‚P‚‚µ‚©Žg‚¢‚½‚­‚È‚¢‚Ì‚¾‚ªA–³—‚¾‚낤‚©c
‘¬‚³‚ð‹‚ß‚é‚È‚ç–ˆ“x‘S—v‘f‚¸‚ç‚·‚æ‚èA“Ç‚Ýo‚µˆÊ’u‚Æ‘‚«ž‚݈ʒu‚Ì“YŽšŽ‚Á‚Ä
ŠÇ—‚µ‚½•û‚ª‚½‚¢‚Ä‚¢‘¬‚¢
awk‚ɂ͘A‘z”z—ñ‚µ‚©‚È‚¢‚µ‚È
ƒŠƒ“ƒOƒoƒbƒtƒ@‚ʼn½‚Æ‚©‚È‚é‚Ȃ烊ƒ“ƒOƒoƒbƒtƒ@‚©‚È
>>682
BEGIN{
@QMAX=3
@QTopPos=0;QTailPos=0;QNum=0;
@deQ();
@enQ("1");deQ();
@enQ("a");enQ("b");enQ("c");enQ("x");deQ();deQ();deQ();deQ();
}
function enQ(PushVal){
@if (QNum+1 > QMAX){print "‚¨‚È‚©‚¢‚Á‚Ï‚¢"; return;}
@nextPos = (QTopPos+1) % QMAX;
@queue[QTopPos] = PushVal;
@QTopPos=nextPosQNum++;
}
function deQ(){
@if (QNum < 1){print "‚©‚ç‚Á‚Û"; return}
@QNum--;@TailVal=queue[QTailPos]
@QTailPos = (QTailPos +1) % QMAX;
@print TailVal;
@return TailVal;
}
687 F686F2012/07/14(“y) 22:54:06.64
ª‚ÌŒ‹‰Ê‚Í‚±‚ñ‚ÈŠ´‚¶B
>‚©‚ç‚Á‚Û
>1
>‚¨‚È‚©‚¢‚Á‚Ï‚¢
>a
>b
>c
>‚©‚ç‚Á‚Û

>>685‚Ì‘‚¢‚Ä‚¢‚郊ƒ“ƒOƒoƒbƒtƒ@ŽÀ‘•‚Å‚·B
enqueue,dequeue‰ñ”‚ª‘½‚¢‚Ȃ烊ƒ“ƒOƒoƒbƒtƒ@‚Å—Ç‚¢‚ÆŽv‚¤B
‘å’ï‚ÌꇂÍQMAX‚É‘å‚«‚È’l‚ðÝ’è‚·‚ê‚ÎŽ–‘«‚è‚éƒnƒY‚¾‚¯‚Ç
ãŒÀ‚ªŒˆ’è‚Å‚«‚È‚¢“™‚ÌŽ–‚ ‚ê‚Îdelete array‚ðŽg‚Á‚½’Pƒ‚È”z—ñŠÇ—‚©‚ÈB
‚½‚¾“Y‚¦Žš‚ª”’lãŒÀ‚ð’´‚¦‚È‚¢—l‚ÈH•v‚Í•K—v‚¾‚ËB
ƒŠƒ“ƒO‚Å‚àãŒÀ‚ð’è‚ß‚é‚Æ“ü—̓XƒgƒŠ[ƒ€‚ÌãŒÀ‚ª•s–¾‚Èꇂ܂¸‚¢‚±‚Æ‚É‚È‚é‚Ì‚ÅAŒ»Ý‚Í
A=“ü—ÍArray,CˆêŽž•ÛŠÇ,i,k,n,p
  k=1;C[0]=0;
  for(i=1;i<=A[0];i++){n=0;while(k<i && A[k++]=C[n+=1]);if(n){
  delete C[C[0]+1];C[0]-=n;p=0;while(C[p+=1]=C[n+=1]);}p=1;
  while(match(substr(A[i],p),re)){p+=RSTART-1;n=substr(A[i],p,RLENGTH);
  if(k<i){A[k++]=n;}else{C[C[0]+=1]=n;};p+=RLENGTH;}};n=1;
  while(A[k++]=C[n]){delete C[n++];};A[0]+=C[0]-1;C[0]=0;
‚ðŽg‚Á‚Ä‚¢‚éB
re=regexp‚Æ‚µ‚ÄAArray A‚Ɉê’v‚·‚éƒf[ƒ^‚ª‚ ‚ê‚Ú‚»‚ê‚ðŽæ“¾AŒ‹‰Ê‚ðArray A‚Éo—ÍAA[0]‚ɇŒv‚ª‹LÚB

‚±‚êˆÈãiƒR[ƒhƒTƒCƒYA‚ ‚é’ö“x‚Ì‘¬“xAƒƒ‚ƒŠ‚ÌŽg—p—Ê‚ð‹É—Í­‚È‚­j‚Æ‚¢‚¤ðŒ‚ÅÅ“K‰»‚Å‚«‚邾‚낤‚©c
‚¾‚ê‚©—Š‚ÞB
“ü—Í‚Æo—Í悪“¯‚¶‚Å‚àA•Ê‚Å‚àì“®‚·‚éƒR[ƒh‚Ȃ箂̂±‚Æ—Ç‚¢‚Ì‚¾‚ªc
‚±‚ê‚͂Ђǂ¢
ƒfƒoƒbƒO‚àŠg’£‚à–³—‚¶‚á‚Ë
Šî–{“I‚Ɉê“xì‚Á‚ÄŒã‚Í•K—v‚ɉž‚¶‚ăRƒsƒy‚¾‚ª‚ç‚ÈB‘¼‚É‚Í
function grep( o, re, p, B, this, a ){
B[0]=0;if(o~"-v"){while((getline v < p)>0){if(!match(v,re))B[B[0]+=1]=v;}return B[0];};
if(o~"-o"){while((getline v < p)>0){a=v;while(match(a,re)){B[B[0]+=1]=substr(a,RSTART,RLENGTH);
a=substr(a,RSTART+RLENGTH);}};return B[0];};while((getline v < p)>0){if(match(v,re))B[B[0]+=1]=v;}return B[0];
}
‚È‚ñ‚©‚à—Ç‚­Žg‚¤Bgrep("-o","pattern","/var/log",data);‚Ý‚½‚¢‚ÈŠ´‚¶‚ÅB‘O‚Ì‚Íagrep("-v",pattern,B,C)‚̈ꕔ•ªB
“ú‚²‚ë‚̃ƒ“ƒe‚Å‚¿‚å‚Á‚Æ‚µ‚½Žèì‹Æ‚¶‚á‚ß‚ñ‚Ç‚¢‚Ì‘g‚Þ‚Æ‚«‚ÉA‚Ù‚Ú”•ª‚Å‘g‚Ý‚ ‚ª‚é‚Ì‚ªŠy‚È‚ñ‚¾‚æB
ƒTƒuƒvƒƒZƒX‚Æ‚µ‚ÄgrepŒÄ‚Ño‚·‚Ì‚ªƒRƒXƒg‚©‚©‚鎞‚Æ‚©Aperl‚ª”j‘¹‚µ‚½ó‹µ‚ł̃ŠƒJƒoƒŠ[ƒXƒNƒŠƒvƒg‚Æ‚µ‚Ä‘g‚ñ‚¾‚Ì‚ªŒ³‚¾‚¯‚ÇB
ƒJ[ƒlƒ‹‚³‚¦¶‚«‚Ä‚¢‚ê‚ÎŒã‚ÍawkƒoƒCƒiƒŠ—¬‚µž‚ß‚ÎŽg‚¦Ash‚ª”¼•ªŽ€‚ñ‚Å‚¢‚Ä‚à‚È‚ñ‚Æ‚©“®‚­‚µB
691 F686F2012/07/21(“y) 23:12:03.74
>>688
BEGIN{
@QMAX=9007199254740991
@QTopPos=QTailPos=QNum=0;
@hitTop=0;
@A[++z]="hoge";
@A[++z]="1 2 3 4 5";
@A[++z]="fuga";
@A[0]=z;
@for(i=1;i<=A[0];i++){
@@p=1;
@@while(match(substr(A[i],p),/[0-9]+/)){
@@@p+=RSTART-1;
@@@enQ(substr(A[i],p,RLENGTH));
@@@p+=RLENGTH;
@@}
@@if(QNum>0){
@@@while(QNum && hitTop<i)A[++hitTop]=deQ();
@@}else{
@@@delete A[i];
@@}
@};
@if(QNum>0) while(QNum)A[++A[0]]=deQ();
@for(z=1;z<=A[0];z++)print "A[" z "]:" A[z];
}
692 F686F2012/07/21(“y) 23:44:24.03
691‚Ì‘±‚«
‚¿‚È‚Ý‚ÉAA[1]`A[A[0]]‚ðgrep‚µ‚ÄŒ‹‰Ê‚ÍA[1]`A[?]‚É–ß‚·ƒXƒNƒŠƒvƒg‚ËB
•¡”Œƒ}ƒbƒ`‚·‚鎖‚ª‚ ‚é‚Ì‚Å–¢ˆ—s‚ðã‘‚«‚µ‚È‚¢‚悤‚ɃLƒ…[Žg‚Á‚Ä‚éB
function enQ(PushVal){
@if (QNum+1 > QMAX){print "Queue Overflow"; exit;}
@nextPos = (QTopPos+1) % QMAX;
@QBody[QTopPos]=PushVal;
@QTopPos=nextPos
@QNum++;
}
function deQ(){
@if (QNum<1){print "Illigal dequeue"; exit;}
@QNum--;
@TailVal=QBody[QTailPos];
@delete QBody[QTailPos];
@QTailPos=(QTailPos +1) % QMAX;
@return TailVal;
}
ƒŠƒ“ƒOƒoƒbƒtƒ@‚ÌãŒÀ’´‚¦‚½‚çI—¹‚³‚¹‚Ă邯‚Ç>>688‚ÌŽÀ‘•‚àãŒÀ’´‚¦‚½‚çƒoƒO‚邵‹–‚µ‚ÄB
Œv‚Á‚Ä‚È‚¢‚¯‚ǃ‹[ƒv‚ª‚È‚¢•ª‘‚¢”¤BƒR[ƒhƒTƒCƒY‚Í‚¨Ž@‚µB
ƒƒ‚ƒŠ‚ÍA[]‚Ƀf[ƒ^•ø‚¦‚Ă鎞“_‚ŃAƒEƒg‚ÈŠ´‚¶‚¾‚¯‚ÇA[]‚ð“K‹XÁ‚·‚悤‚É‚µ‚Æ‚¢‚½B
o—Íæ‚ð•Ê‚É‚µ‚½‚¢‚È‚çA[]‚ÉdeQ()‚¹‚¸•Ê•Ï”‚É‚·‚ê‚΂¨‚‹B
‚±‚ê‚Å—Ç‚¢H
693 F688F2012/07/22(“ú) 09:36:17.43
>QMAX=9007199254740991
ƒƒƒ^www
‰´‚Ì‚àŠm‚©‚Éwhile(C[p+=1]=C[n+=1]);‚Ì•”•ª‚Å•ÛŽ‚µ‚Ä‚é‚Ì‚·‚ׂÄÁ”‚¾‚¯ã‚Ɉړ®‚³‚¹‚Ä‚é‚Ì‚ª–³‘Ê‚È‚Ì‚Å
‚»‚̃‹[ƒv‚ª–³‚¢•ª‚ÍŠm‚©‚É‘‚¢‚Í‚¸B

‚ ‚ÆA’p‚¸‚©‚µ‚È‚ª‚çq‚Ë‚½‚¢‚Ì‚Å‚·‚ªA‰´>>688‚ÌŽÀ‘•‚ÅãŒÀ’´‚¦‚½‚çƒoƒO‚é‚ðkwsk
‚È‚ñ‚©Œ©—Ž‚Æ‚µ‚Ä‚½‚Ì‚©¡X‚È‚ª‚çS”z‚É‚È‚Á‚Ä‚«‚½B
Ìì‚Á‚½‚â‚‚Ȃñ‚ÅAŒ‹\‚È•p“xŽg‚Á‚Ä‚«‚½‚Ì‚¾‚ª¡‚܂ŃoƒO‚É‹C‚©‚È‚©‚Á‚½

‚µ‚©‚µƒf[ƒ^‚ðƒƒ‚ƒŠã‚É“WŠJ‚·‚é‚©‚ç‚Ç‚¤‚µ‚Ä‚àãŒÀ‚ªo‚Ä‚­‚é‚Èc
awk‚Å10GB‚®‚ç‚¢‚̈µ‚¤Žž‚Ígetline‚Å‚È‚ñ‚Æ‚©‚Ȃ邯‚ÇA‚â‚͂胃‚ƒŠƒ}ƒbƒv‚âƒ|ƒCƒ“ƒ^‚ªŽg‚¦‚½‚ç•Ö—˜‚¾‚æ‚È‚Ÿ
ƒpƒbƒ`ì‚Á‚½‚çŽù—v‚ ‚é‚©‚ÈH
>>693
691A‚¿‚å‚Á‚Æ’ù³B–³‘ʂɃLƒ…[Žg‚¤•ªAŒ³ƒXƒNƒŠƒvƒg‚©‚ç—ò‰»‚µ‚Ä‚½B
> @@@p+=RSTART-1;
>-@@@enQ(substr(A[i],p,RLENGTH));
>+@@@if(hitTop+1<i){
>+@@@@A[++hitTop]=substr(A[i],p,RLENGTH)
>+@@@}else{
>+@@@@enQ(substr(A[i],p,RLENGTH));
>+@@@}
> @@@p+=RLENGTH;
‚ ‚ÆA—Ç‚­l‚¦‚½‚ço—Íæ‚ð•Ê‚É‚·‚é‚È‚çA‚»‚à‚»‚àƒLƒ…[•s—vB

ƒoƒO‚Á‚Ä‚Ì‚Í687‚Å”’lãŒÀ‰]X‚Æ‘‚¢‚½‚Æ‚¨‚èA
hC[0]+=1h‚ªawk‚Ì®”‚̸“xŒë·‚È‚µ‰‰ŽZ‰Â”\ãŒÀ‚ðl—¶‚µ‚Ä‚¢‚È‚¢‚¾‚¯B
‚Ç‚Ìawk‚à‘½•ª‚»‚¤‚¾‚ÆŽv‚¤‚¯‚ÇAŽèŒ³‚̊‹«‰º‚Å‚ÌŽÀsŒ‹‰Ê«
C:\>gawk --version
GNU Awk 3.1.7(windows special Nov 24 2009)
C:\>gawk "BEGIN{print 9007199254740990+1}" nul
9007199254740991
C:\>gawk "BEGIN{print 9007199254740991+1}" nul
9007199254740992
C:\>gawk "BEGIN{print 9007199254740992+1}" nul
9007199254740992

ŽÀÛ‚Íihdd‚⃃‚ƒŠ‚ªæ‚ÉŽ€‚Ê‚Ì‚Åj
ˆês‚Å‚±‚ꂾ‚¯³‹K•\Œ»‚ªhit‚·‚鎖‚ÍŽ–ŽÀã–³‚¢‚µA
‰¼‚É”­¶‚µ‚Ä‚àŒŸõŒ‹‰Ê‚ª’ׂê‚邾‚¯‚ÅA‹C•t‚©‚È‚¢”¤B
695 F688F2012/07/22(“ú) 13:39:49.16
>9007199254740992
—˜_ãA8192ƒyƒ^ƒoƒCƒg‚Ì“¯‚¶ƒf[ƒ^[aaa...]‚Åregexp="."‚Æ‚·‚ê‚ÎA”­¶‚·‚é‚Èc
IEEE 754‚Ì52bit§ŒÀ‚¾‚©‚çA‚±‚êˆÈã‚Ì‚Å‚©‚¢”Žšˆµ‚¤‚È‚çbig numbert‘Ήž‚̃‰ƒCƒuƒ‰ƒŠ‚©,
"bc -q" |& ‚Å“®‚©‚·‚©AxgawkAdnawk‚ ‚½‚èŽg‚¤‚ׂ«‚¾‚È‚Ÿ

Ì’N‚©‚ªbignum‚ÌawkƒXƒNƒŠƒvƒg‘‚¢‚Ä•ú—¬‚µ‚Ä‚¢‚½Šo‚¦‚ª‚ ‚é‚Ì‚¾‚ªA
ƒOƒOƒb‚Ä‚àŒ©‚‚©‚ç‚ñBŽèŒ³‚É‚ ‚é‚̂̓rƒbƒg‰‰ŽZ‚Ì‚â‚‚¾‚¯‚¾‚í
‚¢‚‚©‚»‚ꂾ‚¯‚̃f[ƒ^‚ðƒƒ‚ƒŠã‚É•ÛŽ‚Å‚«‚éƒ}ƒVƒ“‚ðˆµ‚Á‚Ä‚Ý‚½‚¢‚à‚Ì‚¾c
awk‚Á‚Äabs‚Æ‚©acos‚È‚Ç‚ÌŠî–{“I‚ÈŽZpŠÖ”‚ª—pˆÓ‚³‚ê‚Ä‚È‚¢‚ñ‚Å‚·‚Ë
¡Œã‚àŽÀ‘•‚³‚ê‚邱‚Æ‚Í‚È‚¢‚ñ‚Å‚µ‚傤‚©H

ƒpƒCƒv‚ŃTƒNƒb‚Ƃ‚Ȃ¢‚Ńƒ“ƒ‰ƒCƒ“‚ň—‚·‚é‚Ì‚Éd•ó‚µ‚Ä‚½‚ñ‚Å‚·‚ªEEE
‘ã‚í‚è‚Æ‚È‚é‚ÆA‰½Žg‚¤‚Ì‚ª‚æ‚낵‚¢‚Å‚·‚©H
‚Å‚«‚ê‚Îperl‚ÍŽg‚¢‚½‚­‚È‚¢‚Å‚·i‚Ç‚¤‚µ‚Ä‚àD‚«‚É‚È‚ê‚È‚¢
abs‚ÍŽ©•ª‚Å‘‚¯‚΂¢‚¢‚µAacos(x)‚Íatan2(x, ã(1.0 - x*x))‚Æ‘‚¯‚é‚©‚çA
‚Ç‚¿‚ç‚àŠî–{“I‚Å‚Í‚È‚¢‚Æ”»’f‚µ‚Ä‘g‚Ýž‚Ý‚¶‚á‚È‚¢‚ñ‚¾‚ÆŽv‚¤‚¯‚ÇB

Python‚©Ruby‚Å‚¢‚¢‚ñ‚¶‚á‚È‚¢H@ƒƒ“ƒ‰ƒCƒi[Œü‚«‚Å‚Í‚È‚¢‚¯‚ÇB
>>696
ƒ‰ƒCƒuƒ‰ƒŠ(?)‚ðE‚Á‚Ä—ˆ‚Ä‚Í?
>>696
•K—v‚ÈŠÖ”’l‚ðŒvŽZ‚·‚邾‚¯‚̃vƒƒOƒ‰ƒ€‚ðC‚Åì‚Á‚Ä‚¨‚¢‚½‚ç?
700 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2012/08/03(‹à) 20:21:59.43
Ì‚»‚ê‚ŃxƒNƒgƒ‹‰‰ŽZ‚µ‚Ä—V‚ñ‚¾‚È
Ruby‚Í‚»‚±‚»‚±ƒƒ“ƒ‰ƒCƒi[‚à‘‚¯‚銴‚¶‚ª‚·‚éAawk‚âPerl‚Ù‚Ç‚¶‚á‚È‚¢‚¯‚Ç‚Ë
Python‚Í—¬Î‚ɃR[ƒh‹N‚±‚³‚È‚¢‚Æh‚¢‚±‚Æ‚ª‘½‚¢‚ª
awk‚Åmatlab‚Ý‚½‚¢‚ȃxƒNƒgƒ‹‰‰ŽZ‚Å‚«‚é‚悤‚É‚µ‚Ä‚Ù‚µ‚¢
awk‚ŃNƒ‰ƒX‚ðŽg‚¦‚é‚悤‚É‚µ‚Ä‚Ù‚µ‚¢
awk‚Å‘S‚Ä‚Ì–‚–@­—‚ð‹~‚Á‚Ä‚Ù‚µ‚¢
awk‚³‚ñ‚Í–‚—
706 F–{“cF2012/08/05(“ú) 07:21:28.03
Awk++
http://awk.info/?doc/dsl/awkplusplus.html
OO in AWK++
The awk++ language provides object oriented programming for AWK that includes:
classes
class properties (persistent object variables)
methods
inheritance, including multiple inheritance

http://lawker.googlecode.com/svn/fridge/lib/bash/awk++/version21/awkpp21.zip
ƒfƒoƒbƒO‘å•Ï‰ß‚¬‚ÄŽ€‚Ê‚é
$ cat witch.awkpp
class Witch {
var spell
method new() { spell = "mahalic mahalita" }
method perform() { print spell }
}
class Samantha : Witch {
method perform() { print "twitch" }
}
BEGIN {
# wife = Witch.new() ƒGƒ‰[—vˆös
wife = Samantha.new()
wife.perform()
}
$ gawk -f awkpp -r witch.awkpp
gawk: -:10: () ƒGƒ‰[—vˆös
gawk: -:10: ^ syntax error
gawk: -:10: () ƒGƒ‰[—vˆös
gawk: -:10: ^ •\Œ»‚Ì char '?' ‚Í•s³‚Å‚·B
size: 656 byte, supports -o -v option. Array A and B can be the same (NEW)
function xagrep( o, re, A, B, this, a, i,k ){
k=0;B[0]=A[0];if(o~"-v"){for(i=1;i<=A[0];i++){if(!match(A[i],re)) B[k+=1]=A[i];}B[0]=k;return k};
if(o~"-o"){B[B[0]+1]=0;for(i=1;i<=A[0];i++){a=A[i];if(i==k){i=i-B[B[0]+1]+1;B[B[0]+1]=k;k=B[0]+2;
while(i<=B[B[0]+1]){B[i++]=B[k];delete B[k++];}i=B[B[0]+1];k=i;B[B[0]+1]=0;}while(match(a,re)){
if(i>k){B[k+=1]=substr(a,RSTART,RLENGTH);}else{B[B[0]+1+(B[B[0]+1]+=1)]=substr(a,RSTART,RLENGTH);
k++}a=substr(a,RSTART+RLENGTH)}}if(i<k){i=k-i;k=B[0]+1;B[0]=i+B[B[0]+1];while(i<B[0])B[i+=1]=B[k+=1];
while(i<k)delete B[i+=1];}return B[0]}for(i=1;i<=A[0];i++){if(match(A[i],re))B[k+=1]=A[i];}B[0]=k;return k;
}
‚±‚êˆÈãí‚ê‚é‚Æ‚±‚ë–³‚¢‚©‚ÈH@
‚‘¬‰»{ƒTƒCƒY—Dæ‚ÅA•Ï”‚Í‚Å‚«‚邾‚¯Žg‚¤”‚ð­‚È‚­‚Æ‚ÌðŒ‚Å
>>708
‚»‚Ì3‚‚ÌðŒ‚Ì—Dæ“x‚ª‚í‚©‚ç‚ñ‚ÈB

Œ‹\“¯‚¶•”•ªŽ®‚ª‚ ‚é‚Ì‚Å•Ï”‚É“ü‚ꂽ•û‚ª•Ï”‚Í‘‚¦‚邯‚Ç’Z‚­‚Ȃ邵
ꇂɂæ‚Á‚Ä‚Í‘¬“x‚à‘¬‚¢‚Æ‚©‚ ‚è‚»‚¤‚¾‚¯‚Ç‚Ç‚¤‚È‚ñ?

—Ⴆ‚ÎB[0]‚Í“Á•Ê‚È—p“r‚Á‚Û‚¢‚¯‚Çx‚Æ‚©1•¶Žš•Ï”‚É‚µ‚Äreturn‚Ì’¼‘O‚É
‘‚«–ß‚µ‚½•û‚ª•¶Žš”‚͉҂°‚éB

‚ ‚Æׂ©‚¢‚ªhoge+=1‚æ‚è++hoge‚Ì•û‚ª1•¶Žš’Z‚¢‚Æ‚©A‚¢‚ç‚È‚¢u;v‚ª
Žc‚Á‚Ä‚é‚Æ‚©‹l‚ß‚ªŠÃ‚¢‚Æ‚±‚낪‚Ü‚¾‚ ‚é‚ËB
ˆÈ‰º‚̂悤‚ȃf[ƒ^‚̈—‚ɂ‚¢‚ÄŽ¿–â‚¢‚¢‚Å‚µ‚傤‚©B
$1‚ÉŒo‰ßŽžŠÔiŽžjA$2‚Éu‘¬“xv‚ª‚ ‚ê‚Î$3‚Ì”’l‚Í‘¬“x‚ðA$2$3‚É
uup avudown av‚È‚Ç‚Æ‚ ‚ê‚΂»‚ÌŽž‚Å‚Ìs“®‚ðŽ¦‚µ‚Ü‚·B

‚±‚̃f[ƒ^‚©‚çupAdown‚Ìꊂð‹‚ß‚½‚¢‚ÆŽv‚¢‚Ü‚·B
‚‚܂èA‰º‚Ì—á‚ňړ®ŠJŽn‚©‚ç‚Ì‹——£3‚Åup aA‹——£3.5‚Åup bA‚Æ‚¢‚¤‹ï‡‚Å‚·B
Œo‰ßŽžŠÔ‚Æ‘¬“x‚©‚çꊂðŒvŽZ‚·‚邾‚¯‚Å‚·‚ªB‘¬“x‚ð•ÏX‚·‚éƒ^ƒCƒ~ƒ“ƒOE
‰ñ”‚Í•s’èA‘¬“xƒf[ƒ^‚Æs“®ƒf[ƒ^‚Í‚Æ‚à‚ÉŒo‰ßŽžŠÔ‡‚É‹L˜^‚³‚ê‚Ä‚¢‚Ü‚·B
‘¬“x•ÏX‚ð‚Ç‚¤ˆµ‚¦‚΂¢‚¢‚Ì‚©A‚¿‚å‚Á‚Æ“ª‚ª‰ñ‚è‚Ü‚¹‚ñB

---Œ³ƒf[ƒ^—á---
0 ‘¬“x 10
50 ‘¬“x 20
200 ‘¬“x 25
30 up a
35 up b
40 down a
40 down b
50 up a
70 down a
200 up c
250 down c

---ˆ—Œã---
3 up a
3.5 up b
4 down a
4 down b
5 up a
6 down a
12.5 up c
14.5 down c
‹^–â‚ð’ñŽ¦B
$1‚ªí‚ÉŽž‚Å$2‚ª‘¬“x‚Ì‚Æ‚«‚Ì$3‚ª‘¬“x‚È‚çA
30 up a‚Ì‚Æ‚«‚É30 * 10‚Å300 up a‚É‚È‚é‚ñ‚¶‚á‚È‚¢‚¾‚낤‚©B
“¯‚¶‚悤‚ÉA70 down a‚Ì‚Æ‚«‚É50 * 10 + (70 - 50) * 20‚Å900 down a‚É‚È‚é‚ñ‚¶‚á‚È‚¢‚¾‚낤‚©B

$3‚ª‘¬“x(’PˆÊŽžŠÔ“–‚½‚è‚̈ړ®—Ê)‚Å‚Í‚È‚­’PˆÊˆÚ“®—Ê“–‚½‚è‚ÌŠ—vŽžŠÔ‚È‚Ì‚Å‚ ‚ê‚ÎA
30 up a‚Å30 / 10 = 3A70 down a‚Å50 / 10 + (70 - 50) / 20 = 6‚É‚È‚é‚ñ‚¾‚¯‚Ç‚ËB
ŽÀ‘•‚µ‚Ä‚Ý‚½B‘¬“x‚ª“r’†‚Éo‚Ä‚«‚Ä‚à‚¢‚¢‚悤‚Épos‚𖈉ñŒvŽZ‚·‚é‚©‚çŒø—¦ˆ«‚¢‚¯‚ÇB
--
BEGIN {
sCount = 0;
}
$2 == "speed" {
sTime[sCount] = $1;
sSpeed[sCount] = $3;
++sCount;
next;
}
{
pos = 0;
for (ic = 1; ic < sCount; ++ic) {
if (sTime[ic] > $1) break;
pos += (sTime[ic] - sTime[ic - 1]) / sSpeed[ic - 1];
}
pos += ($1 - sTime[ic - 1]) / sSpeed[ic - 1];
print pos, $2, $3;
}
>>711
‚·‚Ý‚Ü‚¹‚ñA‘OŽÒ‚Å‚·‚ËB‚È‚ñ‚¾‚낤A’p‚¸‚©‚µ‚¢B

>>712
‚È‚Ì‚ÅAƒAƒNƒVƒ‡ƒ“•”‚Ì / ‚ð * ‚É•Ï‚¦‚ê‚΂悳‚»‚¤‚Å‚·B

‚¨“ñ•ûA‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
awk‚É‚©‚í‚铯“™‚Ì‚à‚Ì‚ ‚è‚Ü‚·H
python
>>715
awk‚Ý‚½‚¢‚ÉŽg‚¢ŸŽè‚¢‚¢‚Ì‚©‚ÈH
—Ç‚¢‚Å‚·‚æ
>>717
‚ ‚肪‚Æ‚·B•×‹­‚µ‚Ä‚Ý‚Ü‚·
‚Í‚¢
g”CˆÓ‚Ì‹L†h‚ðŠÜ‚ñ‚¾ƒVƒFƒ‹•Ï”‚ðawk‚É“n‚·‚±‚Ƃ͉”\‚Å‚·‚©H‚½‚Æ‚¦‚Î

[user@localhost ~]$ var='hoge'
[user@localhost ~]$ echo "hoge" | awk -v var="$var" '
$0 ~ var {print var}
END {print var}
'
hoge
hoge

‚±‚±‚ÅAvar‚É$‚ðŠÜ‚Ü‚¹‚é‚Æ

[user@localhost ~]$ var='hoge$fuga'
[user@localhost ~]$ echo "hoge" | awk -v var="$var" '
$0 ~ var {print var}
END {print var}
'
hoge$fuga

‚Æ‚¤‚Ü‚­ƒ}ƒbƒ`‚µ‚Ü‚¹‚ñ‚Å‚µ‚½BvarŽ©‘Ì‚Í“n‚³‚ê‚Ä‚¢‚é‚Í‚¸‚Å‚·‚ªA‰½‚ªŒ´ˆö‚Å‚µ‚傤‚©H
>>720
‚¢‚¿‚¬‚傤‚߂̂Ђ¾‚肪‚í‚Ì var ‚ÍA‚Ђ傤‚©‚Ì‚³‚¢‚É
‚¹‚¢‚«‚Ђ傤‚°‚ñ‚Ö‚Ì‚©‚½‚Ö‚ñ‚©‚ñ‚ª‚¨‚±‚È‚í‚ê‚éB

$0 ~ /hoge$fuga/ {print "hoge$fuga"}
END {print "hoge$fuga"}

‚ß‚½‚à‚¶‚Æ‚È‚Á‚Ä‚µ‚Ü‚¤‚à‚Ì‚ÍA‚¶‚º‚ñ‚ ‚é‚¢‚Í‚±[‚Ç‚Ì‚È‚©‚Å
‚¦‚·‚¯[‚Õ‚·‚é‚Ђ‚悤‚ª‚ ‚éB
~(ƒ`ƒ‹ƒ_)‚̉E•Ó‚ͳ‹K•\Œ»‚Æ‚µ‚ĉðŽß‚³‚ê‚é‚©‚çA"hoge" ~ /hoge$fuga/ ‚Ń}ƒbƒ`‚·‚é‚킯‚ª‚È‚¢B
‹t‚É”J‚ëA"hoge$fuga" ~ /hoge/ ‚È‚çƒ}ƒbƒ`‚·‚éB
>>720
>721‚à>722‚à‚Ç‚¿‚ç‚àŒ´ˆöB‚â‚肽‚¢‚±‚Æ‚ð‚æ‚­®—‚µ‚悤B
724 F720F2013/02/06(…) 15:09:21.72
‚·‚¢‚Ü‚¹‚ñAecho "hoge"‚Å‚Í‚È‚­echo "$var"‚Å‚µ‚½B
‚½‚¾AŒ‹‰Ê‚Í>>720‚Æ“¯‚¶‚Å‚·B

—v‚Í“ü—̓tƒ@ƒCƒ‹“à‚Ìuƒƒ^•¶Žšž‚Ý‚Ì”CˆÓ‚Ì•¶Žš—ñv‚ðA•Ê‚Ìuƒƒ^•¶Žš‚Ɖüsž‚Ý‚Ì”CˆÓ‚Ì•¶Žš—ñv‚Å’uŠ·‚·‚éA
‚Æ‚¢‚¤‚Ì‚ðƒƒ^•¶Žš‚̃GƒXƒP[ƒv“™‚Ì–Ê“|‚Ȉ—‚ð‚¹‚¸‚ɃTƒNƒb‚Æ‚â‚肽‚¢‚Ì‚Å‚·‚ªA‚Å‚«‚Ü‚·‚©H
ÑØ

—\‚ßuƒƒ^•¶Žš‚ÆŒ¾‚Á‚Ä‚à $ ‚µ‚©o‚Ä‚±‚È‚¢v‚Æ‚©”»‚Á‚Ä‚é‚È‚ç‘債‚½‚±‚Æ–³‚¢‚¯‚Ç
ˆê”ʉ»‚·‚ê‚΂·‚é‚Ù‚Ç–Ê“|‚É‚È‚é
726 F720F2013/02/07(–Ø) 22:14:56.21
>>725
‚â‚Í‚è‚»‚¤‚Å‚·‚©B
¡‚Ü‚Å‚±‚¤‚¢‚Á‚½ˆ—‚Ísed‚Å‚µ‚±‚µ‚±ƒGƒXƒP[ƒv‚µ‚Ä‚â‚Á‚Ä‚½‚ñ‚Å‚·‚ªA‚¢‚¢‰ÁŒ¸–Ê“|‚É‚È‚Á‚½‚Ì‚ÅA
‚½‚Æ‚¦‚Îfgrep‚Ý‚½‚¢‚ɳ‹K•\Œ»‚ðƒIƒt‚É‚µ‚Ĉ—‚·‚é•û–@‚Í‚È‚¢‚©‚Æ’T‚µ‚Ä‚¢‚é‚ñ‚Å‚·‚ªA
awk‚Å‚Í–³—‚Å‚·‚©EEEB
>>726
’P‚Ɉê’v‚Ȃ糋K•\Œ»‚È‚ñ‚©Žg‚킸‚É”äŠr‚·‚ê‚΂¢‚¢‚¶‚á‚ñB
fgrep‚ÅŽ–‚ª‘«‚è‚é‚Ì‚È‚çawk‚©‚çfgrep‚ð‹N“®‚·‚ê‚΂¢‚¢‚¶‚á‚ñB
>>726
fgrep‚È‚ç index()ŠÖ”‚¶‚á‚È‚¢‚Ì?
729 F720F2013/02/09(“y) 15:32:27.55
>>727
„’P‚Ɉê’v‚Ȃ糋K•\Œ»‚È‚ñ‚©Žg‚킸‚É”äŠr‚·‚ê‚΂¢‚¢‚¶‚á‚ñB
ˆÓ–¡‚ª•ª‚©‚ç‚È‚¢‚ñ‚Å‚·‚ªAawkã‚̘b‚Å‚·‚æ‚ËH

>>728
index()‚̈ø”‚Í•¶Žš—ñ‚¾‚©‚çA‚±‚ê‚ð‚¤‚Ü‚­Žg‚¦‚ΖړI‚̈—‚ª‚Å‚«‚éEEE‚Ì‚©‚ÈH

‚Å‚à‚È‚ñ‚©awk‚Å‚²‚¿‚傲‚¿‚å‚â‚é‚æ‚èAƒƒ^•¶Žš‚ðƒGƒXƒP[ƒv‚·‚é‘Oˆ—‚ð‚©‚Ü‚·‚È‚è
‰½‚Ȃ肵‚½‚Ù‚¤‚ª‘f’¼‚È‹C‚ª‚µ‚Ä‚«‚½EEEB‚½‚Æ‚¦‚΂±‚ñ‚ÈŠ´‚¶‚Å

$ var='hoge$fuga'
$ var2=$( echo "$var" | sed 's/\$/\\\\$/g' )@©ƒGƒXƒP[ƒvˆ—
$ echo "$var" | awk -v var="$var2" '
$0 ~ var {print var}
END {print var}
'
hoge\$fuga
hoge\$fuga
730 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2013/02/09(“y) 17:49:52.25
/bin/sh‚Å‚²‚¿‚傲‚¿‚å‚â‚é‚Ì‚ªD‚Ý‚È‚çAawk‚àfgrep‚àŽg‚킸Acase•¶‚Å‚â‚è‚á‚¢‚¢‚ñ‚¶‚á‚È‚¢‚ÌB
>>729
•¶Žš—ñ‚Ì”äŠr‚Í“™†‚Å‚Å‚«‚é‚Á‚Ä”FŽ¯‚Í‚È‚¢‚Ì?
>729
‚¢‚âA‚»‚Ì•û–@‚Å‚àŒ‹‹Ç ' ‚̓GƒXƒP[ƒv‚ª•K—v‚Å‚µ‚åB
ƒ_ƒCƒŒƒNƒg‚ɃVƒFƒ‹•Ï”‚É“ü‚ê‚é•û–@‚©A
ƒtƒ@ƒCƒ‹‚È‚Ç‚É“f‚«o‚µ‚Ä‚¨‚­•û–@‚Ì•û‚ªˆÀ’èB
‚Ü‚Ÿ‚»‚ê‚Å‚à‰üs‚Æ‚©§Œä•¶Žš“ü‚ê‚ç‚ê‚é‚Æ‚à‚É‚å‚éꇂª‚ ‚邯‚Ç‚ÈB
‚»‚±‚Ü‚Å‚ß‚ñ‚Ç‚­‚³‚­‚È‚Á‚½‚çperl‚Æ‚©ruby‚Æ‚©Žg‚Á‚½•û‚ªŠy‚¾‚¼w
‰½‚Å gawk -f ‚Æ‚©Žg‚킸ƒƒ“ƒ‰ƒCƒi[‚ÉS‚é‚Ì‚©‚Ë‚¥
>>732
’†ŠØƒtƒ@ƒCƒ‹‚ðì‚é‚Ì‚ÍîŽã‚ÌŽdŽ–iƒhƒ„Šç
>>734
ƒƒ“ƒ‰ƒCƒi[ƒfƒBƒX‚Á‚Ä‚ñ‚ÌH
736 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2013/03/11(ŒŽ) 10:05:12.56
#
# text converter ( Mac to MS-DOS on Windos/MS-DOS machine)
# convert CR to CR+LF
#
BEGIN{ RS = "\r" }
{ print }
737 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2013/03/15(‹à) 08:05:25.28
#
# Line(s”)‚𔂦‚é
#

END { FNR }
738 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2013/03/20(…) 19:07:17.00
# text to html converter
# usage: awk -f txt2htm.awk infile1.txt > outfile2.html

BEGIN{
print("<html>"); print("<head>")
print("<titile> My favorite URLs </titile>")
print("</head>"); print("<h1> </h1>"); print("<body>");
}

/^[:space:]*http/ { print "<A HREF=\""$1"\">"$1"</A><BR>"}

END{
print("</body>")
print("</html>")
}
739 FUNIX(LF) to DOS(CR+LF) conversionF2013/03/21(–Ø) 21:15:00.86
awk 1 infile1 > outfile2.txt
# awk -f add.awk
BEGIN {
  s1 = "323524855"
  s2 = "4972560"

  reverse(a2, s2)
  size = reverse(a1, s1) # s1 > s2
  carry = 0

  for(k = 1; k <= size; k++) { # s1 > s2
    d = a1[k] + a2[k] + carry
    if(d >= 10) {
      e[k] = d - 10
      carry = 1
    } else {
      e[k] = d
      carry = 0
    }
  }

  if(carry == 1) {
    e[k] = 1
    size = k
  }

  g = produce_string(e, size)
  printf("%s + %s = %s\n", s1, s2, g)
  printf("%f\n", s1 + s2)
  exit
}
# >>740‚̂‚«
function reverse(a, s, k, i) {
  k = 1;
  size = length(s)
  for(i = size; i >= 1; i--) {
    a[k++] = substr(s, i, 1)
  }

  return size
}
function produce_string(a, size, i) {
  g = ""
  for(i = size; i >= 1; i--) {
    g = g a[i]
  }

  return g
}
function produce_string(a, size, g, i) {
743 Fgrep‚ðawk‚ÅF2013/03/22(‹à) 13:32:02.74
# usage: awk -f grep.awk char1 file1 file2

BEGIN{
pattern = ARGV[1]
ARGV[1] = ""
}
$0 ~ pattern {print($0" File name=" FILENAME)}
$ echo 10 20 30 | awk '{for(i=0;i<4;)print _$++i}'
10
20
30

_$++i‚Å‚à$++i‚Å‚à‚Ç‚¿‚ç‚Å‚à‚¢‚¯‚é‚Ì‚Å‚·‚ªAƒAƒ“ƒ_[ƒXƒRƒA‚ª•t‚¢‚ĉ½ŒÌ‘åä•v‚È‚Ì‚Å‚µ‚傤‚©H
‚·‚¢‚Ü‚¹‚ñA‚í‚©‚è‚Ü‚µ‚½
‹ó‚Ì•Ï”_‚Æ$++i‚ÌŒ‹‰Ê‚ªˆê‚É‚È‚Á‚Ä‚½‚¾‚¯‚È‚ñ‚Å‚·‚Ë
’P‚ÉŽ®‚ð•À‚ׂé‚Æ•¶Žš—ñ˜AŒ‹‚É‚È‚éA‚Ìã©‚©
747 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/04/02(…) 00:10:13.15 ID:T3/5Epfc
•ÛŽç

‚Ä‚©”¼”N‹ß‚­‘‚«ž‚Ý‚ª–³‚©‚Á‚½‚©
748 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/04/14(ŒŽ) 22:41:42.89 ID:5r697USd
4.1.1‚Á‚Ä‚à‚¤ƒŠƒŠ[ƒX‚³‚ꂽ‚ÌH
749 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/04/19(“y) 13:45:38.45 ID:Db2IzPol
‚Æ‚ ‚égawkƒXƒNƒŠƒvƒg‚Ì擪‚Å
{last_hoge=hoge; hoge=$ 3}
‚Á‚Ä‚â‚Á‚Ä‚é‚ñ‚¾‚¯‚ÇA
hoge=$ 3‚Íhoge=$3‚̊ԈႢ? ‚»‚ê‚Æ‚à‚±‚¤‚¢‚¤‹L–@‚ª‚ ‚é?
750 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/04/19(“y) 14:56:08.53 ID:A73fEYrr
>>749
$ ‚͉‰ŽZŽq‚¾‚©‚çAa=b+1‚ða = b + 1‚Æ‘‚­‚悤‚È‚à‚Ì‚©‚ÈB
751 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/04/19(“y) 21:10:32.64 ID:Db2IzPol
‚¦‚¦[ ‰‰ŽZŽq‚¾‚Á‚½‚Ì‚©‚ BÕŒ‚‚ÌŽ–ŽÀ
752 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/04/20(“ú) 12:36:45.70 ID:SQaIR8ej
‰‰ŽZŽq‚¾‚©‚çA•Ï”‚Å‚à‚¢‚¢‚æB
753 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/04/20(“ú) 14:34:12.09 ID:YSeiuWKu
Ž®‚ª‘‚¯‚é‚ËB
$ ‚͈ê”Ô—D懈ʂª‚‚¢‚©‚çA‚©‚Á‚±‚ÅŠ‡‚ç‚É‚á‚¢‚©‚ñ‚ªB
754 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/04/20(“ú) 15:12:13.25 ID:k3tDznaJ
¡‚Í‚¶‚ß‚Ä’m‚Á‚½Bhaskell‚Ì$‚͉‰ŽZŽq‚¾‚Á‚Ä’m‚Á‚Ä‚½‚¯‚ÇAawk‚Å‚à‰‰ŽZŽq‚¾‚Á‚½‚ñ‚¾‚ËB
755 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/10/14(‰Î) 13:37:28.35 ID:cBz5RbAX
‚»‚µ‚Ä”¼”N‹ß‚­‘‚«ž‚Ý‚ª–³‚©‚Á‚½
756 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/10/15(…) 03:28:03.90 ID:SS4U/DMU
‚¢‚âawkƒXƒŒ‚È‚ñ‚Ä•’i‚Í‚»‚ñ‚Ȃɘb‘è‚È‚¢‚¾‚ë
757 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/10/21(‰Î) 15:46:10.36 ID:TQsAGJgk
Ž¿–₳‚¹‚Ä‚­‚¾‚³‚¢

¡ƒfƒBƒŒƒNƒgƒŠ“à‚̃tƒ@ƒCƒ‹‚Ì–¼Ì‚ƃTƒCƒY‚̃ŠƒXƒg‚ðì‚肽‚¢‚ÆŽv‚Á‚Ä‚¢‚Ü‚·
ƒRƒ}ƒ“ƒh‚Æ‚µ‚Ä‚Íls -l‚ðŽÀs‚µ‚Ä‚¢‚Ü‚·‚ª‚±‚ê‚ð‚³‚ç‚Éawk‚ɃpƒCƒv‚µ‚Ä‚¢‚Ü‚·
‚½‚¾‚µƒtƒ@ƒCƒ‹–¼‚ɃXƒy[ƒX‚ªŠÜ‚Ü‚ê‚Ä‚¢‚邽‚߈ȉº‚̂悤‚È‹ê“÷‚Ìô‚ð‚Æ‚Á‚Ä‚¨‚è‚Ü‚·‚ª

ls -l | awk '{print $5 "\t" $9$10$11$12$13$14$15$16$17$18$19}'

10ŒÂˆÈã‚Å‹æØ‚ç‚ê‚Ä‚é‰Â”\«‚à‚ ‚邽‚ߪ–{“I‚ȑΉž‚ð‚µ‚½‚¢‚Æl‚¦‚Ä‚¢‚Ü‚·‚ª
‚æ‚¢ˆÄ‚Í‚ ‚è‚Ü‚·‚Å‚µ‚傤‚©
758 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/10/21(‰Î) 17:25:55.68 ID:EsuQiv22
# ƒtƒ@ƒCƒ‹–¼‚Éu"v‚ªŠÜ‚Ü‚ê‚Ä‚¢‚½‚ç’m‚ç‚ËB
ls -Ql |awk '{split($0, foo, "\x22"); print $5 "\t" foo[2]}'
759 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/10/21(‰Î) 23:41:50.65 ID:stXOK2Vv
QƒIƒvƒVƒ‡ƒ“‚͕׋­‚É‚È‚Á‚½
ls -l|awk '{s=$5;for(i=1;i<9;i++)$i="";print s"\t"$0}'
034@@‚Í@h@i”¼Špj
035@@‚Í@”@i”¼Špj@@@@@@@‚Å‚¨‚‹‚Å‚·‚©H
>>760
‚¢‚¢‚¦ˆá‚¢‚Ü‚·B
762 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2014/12/14(“ú) 00:00:31.34 ID:7YfznIJB
‚Ç‚¿‚ç‚à”ñ‰Â“Ç•¶Žš‚Å‚·‚ËB‚»‚µ‚Ä‚»‚¤‚È‚é‚ƃXƒŒˆá‚¢B
awk‚Æ—‚Þ‚Ì‚È‚ç‹ï‘Ì“I‚É‚Ç‚¤‚¼B
763 FƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF
Terastation‚̃tƒ@ƒCƒ‹Eƒzƒ‹ƒ_–¼‚ÉŽg‚¤‚ƃtƒ@ƒCƒ‹ƒŒƒvƒŠƒP[ƒVƒ‡ƒ“‚ŃGƒ‰[‚ª‹N‚±‚镶Žš‚ª‚ ‚Á‚ÄA‚»‚ê‚ð•ÏŠ·‚·‚éƒoƒbƒ`‚𶬂·‚鎞‚É‚±‚̃}ƒCƒi[Œ¾Œê‚ª‘劈–ô‚µ‚½B
–ñ80–œŒ‚̃tƒ@ƒCƒ‹ƒzƒ‹ƒ_–¼‚©‚ç’Šo‚·‚é‚Ì‚É10•ª’ö“x‚¾‚Á‚½B