awking shoes
ƒI[ƒN
ƒI[ƒN
ƒI[ƒN
@‰œ‚³‚ñ
‚¢‚⑽‚‚ðŒê‚Á‚Ä‚‚ê
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
ƒ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 F
11F2007/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
awk‚ÅSQL‚Ìleftjoin‚Ý‚½‚¢‚È‚±‚Æ‚Å‚«‚éH
20 F
15F2007/03/04(“ú) 03:46:24
ƒGƒ“ƒR[ƒfƒBƒ“ƒO‘Ήž‚Æ‚©FXl‚¦‚é‚ÆAawk‚ÅHTML‚ðˆ—‚µ‚悤‚Æ‚·‚é‚Ù‚¤‚ª
–³—‚ª‚ ‚銴‚¶B
‘f’¼‚ÉP‚Å‚Í‚¶‚܂錾Œê‚Æ‚©Žg‚Á‚Æ‚¯‚ÎH‚Ý‚½‚¢‚ÈB
22 F
19F2007/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 F
28F2007/04/17(‰Î) 08:45:33
>29
Œä‰ñ“š‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·B
‹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‚Ú—˜’Ê
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
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 ‚̓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
>>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 F
97F2008/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 F
97F2008/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 F
141F2008/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
‚Ç‚¤‚â‚Á‚½‚ç 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 F
155F2008/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
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
>>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 F
191F2008/08/23(“y) 03:28:08
>>192 ‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·
‘‘¬ŒŸ“¢‚µ‚Ä‚Ý‚Ü‚·
194 F
191F2008/08/23(“y) 10:56:41
“ü—Í“à—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}
Ž¿–â‚Å‚·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
ƒ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‚Ç‚¿‚ç‚©ˆê•û‚É‚ ‚ê‚΂¢‚¢‚È‚ç&&‚ð||‚É•Ï‚¦‚Ä‚Ë
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
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 F
240F2009/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 F
240F2009/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
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
250 F
sageF2009/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 F
257F2009/04/13(ŒŽ) 22:14:30
Ž¸—çB
‚³‚‚ç‚Ígawk‚¶‚á‚È‚¢awk‚Å‚·‚©B
>>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 F
260F2009/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
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
{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
split ‚â asort ‚µ‚½‚ç‚Ç‚¤‚µ‚Ä“YŽš‚ª1‚©‚ç‚É‚È‚é‚ñ‚¾I
‚È‚ñ‚Å‚¾I
Žd—l‘“Ç‚Ý”ò‚΂µ‚Ăăf[ƒ^Œ‡—Ž‚³‚¹‚é‚Æ‚±‚낾‚Á‚½(L¥ƒÖ¥M)
>>287 sed ‚Å‚¦‚¦‚â‚ñ
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
‚»‚ê‚Í‚»‚±‚̃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
>>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 F
309F2009/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ƒ}[ƒ`
Ž©“®Ä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
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 F
331F2010/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 F
335F2010/02/28(“ú) 19:22:38
{print substr($0, match($0, " -O .*")+1);}
337 F
331F2010/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??
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 F
365F2010/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 F
381F2010/09/27(ŒŽ) 19:00:47
>>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 F
381F2010/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
‚±‚ê‚Ȃ牴‚Å‚àÁÜ‚µ‚È‚‚Ä‚·‚Ý‚»‚¤
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
ŠÂ‹«‚ÍCentOS-5.5-x86_64‚ÅGNU Awk 3.1.5‚Å‚·B
/bin/awk‚̓Vƒ“ƒ{ƒŠƒbƒNƒŠƒ“ƒN‚ÅAŽÀ‘Ì‚Ígawk‚Å‚µ‚½B
Windows‚V(64bit)‚ÅŽg‚¦‚éawk‚ ‚è‚Ü‚·‚©H
32bit”Å‚Ìawk‚ð‚ðŽg‚¤‚ñ‚¶‚áƒ_ƒH
405 F
398F2010/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 F
398F2010/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
412 F
399F2010/10/23(“y) 06:55:10
413 F
398F2010/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 F
398F2010/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 F
419F2010/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
‚È‚É‚à‚µ‚È‚‚Ä‚à—LŒø‚¾‚ÆŽv‚¤‚ñ‚¾‚¯‚Ç
Ž¿–â‚ÌŽïŽ|‚ª‚í‚©‚ç‚ñ
432 F
430F2011/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
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 F
430F2011/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 F
430F2011/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 F
430F2011/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 F
453F2011/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‚¦‚΂¢‚¢‚ñ‚¾‚æ
>>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
>>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‚ÍŠ´‚¶‚½Ž–‚ª–³‚¢
ƒ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
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
Å‹ß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 F
528F2011/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
>>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 F
537F2011/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 F
537F2011/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
‚Ü‚¾‚â‚Á‚Ä‚é‚Ì‚©`
ƒ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 F
559F2011/04/20(…) 01:08:11.06
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
>>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
>>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‚Å‘‚¢‚½‚±‚Æ‚ª–³‚¢
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);
“ñ“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 F
620F2011/07/30(“y) 23:22:20.03
>621
‚ ‚肪‚Æ‚¤‚²‚´‚¢‚Ü‚·I‚¤‚Ü‚‚¢‚«‚Ü‚µ‚½B
gawk‚Í‚à‚¤•ÊŒ¾Œê‚ȃCƒ[ƒWB•’imawkŽg‚Á‚Ä‚é‚Æ
‚±‚±‚Á‚Ķ‚«‚Ä‚Ü‚·‚©H
¶‚«‚Ä‚Ü‚·‚ñ
628 F
627F2011/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 F
629F2011/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 F
641F2011/08/25(–Ø) 20:58:10.41
‚»‚ê‚ÍÅ‘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‚É‚æ‚邯‚Ç
>>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
Å‹ßawkcard‚ð’m‚Á‚ÄÀ‰E‚É’u‚¢‚Ä‚é‚Ì‚¾‚ªA“ú–{Œê”Å‚Á‚Ä‘¶Ý‚·‚é‚Ì‚¾‚낤‚©B
666 F
ƒfƒtƒHƒ‹ƒg‚Ì–¼–³‚µ‚³‚ñF2011/12/22(–Ø) 16:57:35.32
>>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‚ɑΉž‚µ‚Ä‚½‚Á‚¯
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 F
674F2012/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
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 F
686F2012/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 F
686F2012/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 F
686F2012/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 F
688F2012/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 F
688F2012/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
ƒ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 F
720F2013/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 F
720F2013/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 F
720F2013/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 F
UNIX(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 F
grep‚ð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‚Ìã©‚©
•ÛŽç
‚Ä‚©”¼”N‹ß‚‘‚«ž‚Ý‚ª–³‚©‚Á‚½‚©
4.1.1‚Á‚Ä‚à‚¤ƒŠƒŠ[ƒX‚³‚ꂽ‚ÌH
‚Æ‚ ‚égawkƒXƒNƒŠƒvƒg‚Ì擪‚Å
{last_hoge=hoge; hoge=$ 3}
‚Á‚Ä‚â‚Á‚Ä‚é‚ñ‚¾‚¯‚ÇA
hoge=$ 3‚Íhoge=$3‚̊ԈႢ? ‚»‚ê‚Æ‚à‚±‚¤‚¢‚¤‹L–@‚ª‚ ‚é?
>>749 $ ‚͉‰ŽZŽq‚¾‚©‚çAa=b+1‚ða = b + 1‚Æ‘‚‚悤‚È‚à‚Ì‚©‚ÈB
‚¦‚¦[ ‰‰ŽZŽq‚¾‚Á‚½‚Ì‚©‚ BÕŒ‚‚ÌŽ–ŽÀ
‰‰ŽZŽq‚¾‚©‚çA•Ï”‚Å‚à‚¢‚¢‚æB
Ž®‚ª‘‚¯‚é‚ËB
$ ‚͈ê”Ô—D懈ʂª‚‚¢‚©‚çA‚©‚Á‚±‚ÅŠ‡‚ç‚É‚á‚¢‚©‚ñ‚ªB
¡‚Í‚¶‚ß‚Ä’m‚Á‚½Bhaskell‚Ì$‚͉‰ŽZŽq‚¾‚Á‚Ä’m‚Á‚Ä‚½‚¯‚ÇAawk‚Å‚à‰‰ŽZŽq‚¾‚Á‚½‚ñ‚¾‚ËB
‚»‚µ‚Ä”¼”N‹ß‚‘‚«ž‚Ý‚ª–³‚©‚Á‚½
‚¢‚âawkƒXƒŒ‚È‚ñ‚Ä•’i‚Í‚»‚ñ‚Ȃɘb‘è‚È‚¢‚¾‚ë
Ž¿–₳‚¹‚Ä‚‚¾‚³‚¢
¡ƒ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‚¦‚Ä‚¢‚Ü‚·‚ª
‚æ‚¢ˆÄ‚Í‚ ‚è‚Ü‚·‚Å‚µ‚傤‚©
# ƒtƒ@ƒCƒ‹–¼‚Éu"v‚ªŠÜ‚Ü‚ê‚Ä‚¢‚½‚ç’m‚ç‚ËB
ls -Ql |awk '{split($0, foo, "\x22"); print $5 "\t" foo[2]}'
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
‚Ç‚¿‚ç‚à”ñ‰Â“Ç•¶Žš‚Å‚·‚ËB‚»‚µ‚Ä‚»‚¤‚È‚é‚ƃXƒŒˆá‚¢B
awk‚Æ—‚Þ‚Ì‚È‚ç‹ï‘Ì“I‚É‚Ç‚¤‚¼B
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