awk ファンクラブ (333レス)
awk ファンクラブ http://mao.5ch.net/test/read.cgi/linux/1215431118/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
必死チェッカー(本家)
(べ)
自ID
レス栞
あぼーん
133: login:Penguin [sage] 2011/07/01(金) 01:20:48.84 ID:NsJJwAAV xgawkは使ってないなぁ。使ってる鳥には無いし。XHTMLが対象ならもっと短く書けるのだろうか。 >>130 おー!これはクール。 gawkは大文字小文字無視する処理書くの楽だね。流石だ。 >>131 前後の行を表示させたりが楽かも。まあ、滅多にお世話になることないけど… rm -r *でデータ飛ばしたから、そのサルベージに役立つとは…orz http://mao.5ch.net/test/read.cgi/linux/1215431118/133
134: login:Penguin [sage] 2011/07/01(金) 02:00:56.40 ID:NsJJwAAV コマンド`grep -C N regex'を真似する awk 'BEGIN{ L=N; b=L+1; n=L+2; i=j=0; s=2 }; /regex/{ if (L&&s==1) print "--"; while (i!=j) { print a[i++]; if (i==b) i=0 } n=s=0 }; n>L{ a[j++]=$0; if (j==b) j=0; if (i==j) { i++; if (i==b) i=0; if (!s) s++ } next }; n++<=L' 書けた!!データ飛ばすは、アク禁に巻き込まれるは散々だった。よく見たら凄い遅レスだ… データのサルベージに使ったgrep -Cを書いてみた。流石にワンライナーとは言い難い。 効率はもう少し良くできそうだけど、これ以上短くするのは無理だった。実力が足りない;_; あまりに読み辛いので、pastebinに整形版を置いておきます。 ttp://pastebin.com/PJ2VfqN4 http://mao.5ch.net/test/read.cgi/linux/1215431118/134
135: login:Penguin [sage] 2011/07/01(金) 23:56:01.08 ID:NsJJwAAV 時間計測の結果を追記。 time grep -C 500 'public class\|jar cf\|javac\|\.java' <strings_a.txt >/dev/null real 0m2.112s user 0m1.528s sys 0m0.311s time awk 'BEGIN{ L=500;(略)}; /public class|jar cf|javac|\.java/{(略)}; n++<=L' <strings_a.txt >/dev/null real 1m20.089s user 1m15.426s sys 0m0.389s 一回計測。約50倍くらい遅いか。ネイティブとスクリプトだから、まあこうなる、と言ったところだと思う。 短い処理なら有利な場合もあるんだろうけど。 http://mao.5ch.net/test/read.cgi/linux/1215431118/135
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.966s*