awk ファンクラブ
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
2008/07/07(月) 20:45:18ID:wYmB5VwU0002login:Penguin
2008/07/07(月) 20:52:18ID:7N4CeYxI0003login:Penguin
2008/07/07(月) 20:55:08ID:64cKGfca0004login:Penguin
2008/07/07(月) 21:21:04ID:Bjq85S2V0005login:Penguin
2008/07/07(月) 21:35:44ID:rSMtL5cT0006login:Penguin
2008/07/07(月) 21:50:35ID:XFLIMsgDwainberg
kernihan
0007login:Penguin
2008/07/07(月) 22:39:16ID:/5MnC3tB0008login:Penguin
2008/07/08(火) 00:19:21ID:9/fi698j0009login:Penguin
2008/07/08(火) 01:19:20ID:yAMbUEpf0010login:Penguin
2008/07/08(火) 10:32:21ID:YEHCkTi1自分の場合、全部シェルスクリプトだけどw
0011login:Penguin
2008/07/08(火) 12:50:38ID:6brAoz3h0012login:Penguin
2008/07/08(火) 16:47:52ID:TJw2Mlna0013login:Penguin
2008/07/09(水) 19:51:11ID:r1P6Mjit0014login:Penguin
2008/07/09(水) 19:52:45ID:+TY8Gpg6んでもってx68kで遊んでいたw
0015login:Penguin
2008/07/09(水) 19:55:00ID:0dhBqlXXrubyはワンライナー〜十数行のスクリプト。
pythonは数十行〜数百行のスクリプト。
0016login:Penguin
2008/07/09(水) 20:03:27ID:Glf+LFW90017login:Penguin
2008/07/09(水) 20:09:52ID:r1P6Mjit0018login:Penguin
2008/07/09(水) 21:59:50ID:2WqtvhnNBEGIN/ENDのおかげでトランザクション使うのも簡単。
0019login:Penguin
2008/07/09(水) 23:40:46ID:ro47ZQt4「プログラミング言語AWK」が絶版になると聞いてあわてて確保したが、すぐ再版された。
0020login:Penguin
2008/07/20(日) 12:21:50ID:j9YcHbCnPerlで$3 を表示しる!とかどーすんよ
awk '{print $3}'
0021login:Penguin
2008/07/20(日) 12:31:10ID:/rTvaqQG0022login:Penguin
2008/07/20(日) 13:45:48ID:ysRQGfiQperl -ane 'print $F[2], "\n"'でいいんじゃね?
0023login:Penguin
2008/07/20(日) 22:40:15ID:3uxKU7IEなんかこう、Perlってスクリプトにエレガントさを感じないんだよな。つぎはぎが多い
というか。
awkの場合、cに近いスタイルでありながらパターンマッチングとか連想配列の実装が
エレガントだからコードを見ててきれいに感じる。
0024login:Penguin
2008/07/20(日) 23:32:42ID:j9YcHbCn0025login:Penguin
2008/07/21(月) 04:31:14ID:RBm9osMs-a オプションはやっぱり awk の名に由来するのかねぇ
0026login:Penguin
2008/07/21(月) 10:22:28ID:m3jpUYR9autosplit modeってusageに書いてあるじゃん。
0027login:Penguin
2008/07/22(火) 11:02:10ID:oOCbPgMuいや名目上はそうだけどさ。
スクリプトでauto〜なんて言い出したらキリが無いワケじゃん。
ぶっちゃけ -n だって自動ループと言っちゃえばそうだし。
そこで -s や -p みたいな名前じゃなくて
わざわざ -a にしたのは、やっぱ awk の名を意識したからなのかな、と
思ったんだよ。
0028login:Penguin
2008/08/17(日) 18:47:40ID:AZ0h4M4q空行とかでの扱い考えると
ruby -ne 'puts split[2] || ""'
になるのか。やっぱawkが楽だな。
0029login:Penguin
2008/12/03(水) 10:54:22ID:QXJz0hBL実はおれも長らくsedからawkへ行けなかった。田中さん(緑のSerrow)が月刊asciiに書いた
記事を読んで使えるようになったのだった。
いまではperlも使うが、やはりawkが楽だなぁ。16進→10進変換の関数作ったり、
バイナリデータ読むためのコードをCで作ったりして無理やり使ってたころが
懐かしい。
0030login:Penguin
2008/12/03(水) 23:47:03ID:Thw8Gp7Oawk(gawk)とsedには特に力を入れて勉強してる
gawkは機能が洗練されて美しいし直感的で使いやすい
リファレンスもとてもしっかりしてる
0031login:Penguin
2008/12/09(火) 16:01:43ID:NHdcSNGHgawk '{w[$1]++;}END{for(i in w)print i,w[i];}' xxxx.txt | sort
みたいなことを何百回やったことか。
0032login:Penguin
2009/04/21(火) 01:25:03ID:8RfnrYFSttp://awk.info/?doc/dsl/awkplusplus.html
object_variable = class_name.new[(optional parameters)]
object_variable.method_name(parameters)
object_variable.delete
0033login:Penguin
2009/04/21(火) 17:02:32ID:CHFddJcj一行毎に読み込み@<と@>で囲まれた部分を
ランダムなアルファベット10文字に置換し、
元々@<@>に囲まれた部分の文字列と置換したランダムな文字列の対応を
別ファイルに書き出し
っていうのをやりたいです。
awkとsedでできるの?
pythonで書くべき?
0034login:Penguin
2009/04/21(火) 18:09:12ID:68A2ZTzGBEGIN {
output = "hoge.txt"
chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"
len = length(chars)
srand()
}
{
if(match($0, /@<.*@>/)){
t = substr($0, RSTART+2, RLENGTH-4)
if(!(t in m)) m[t] = rndstr(10)
$0 = substr($0, 1, RSTART+1) m[t] substr($0, RSTART+RLENGTH-2)
}
}
END {
for(i in m) print i, m[i] > output
}
function rndstr(n, s){
while(n--) s = s substr(chars, int(rand()*len)+1, 1)
return s
}
0035login:Penguin
2009/05/08(金) 21:56:17ID:uniCaTc90036login:Penguin
2009/07/08(水) 17:12:37ID:nwzD2hQJ文型向け授業でわざわざlinux使わせるなよ・・・
0037login:Penguin
2009/07/14(火) 15:14:45ID:OYRFUc74「プログラミング言語AWK」は買い逃してたんで再販速攻で買ったよ。
Excelなんてやってられねーっつーの
0038login:Penguin
2009/07/14(火) 15:45:04ID:ZhPQ90qnExcelのvlookupみたいなリレーショナルな事がやりたい場合ってどーしてる?
0039login:Penguin
2009/07/16(木) 23:17:47ID:up+KJ4E40040login:Penguin
2009/07/18(土) 04:58:19ID:p/gu39Bx0041login:Penguin
2009/07/18(土) 15:26:29ID:VCKoFo8D0042login:Penguin
2009/07/18(土) 16:20:59ID:p/gu39Bx> そんなん普通に複数ファイル処理すればいいやん。
「普通に」の所kwsk
0043login:Penguin
2009/07/18(土) 21:51:54ID:VCKoFo8D0044login:Penguin
2009/07/19(日) 04:55:45ID:TalGZSORawkでアクセスカウンタを作ろうと思い、
以下のようなスクリプトを書いたのですが、
最後のhtmlへの出力(表示)の方法がわかりません。
どうしたらいいのでしょうか?
004544
2009/07/19(日) 04:57:30ID:TalGZSOR#プロセスロック
lock()
#カウント数の読み込み
while (getline < count.dat > 0){
before_count = $1;
}
close(count.dat);
#カウントを1進める
new_count = before_count + 1;
#数字の置換を行う
sub(before_count, new_count, $1);
#プロセスロック解除
unlock()
}
■ このスレッドは過去ログ倉庫に格納されています