[過去ログ]
awkについて語るスレ $2 (1002レス)
awkについて語るスレ $2 http://mevius.5ch.net/test/read.cgi/tech/1172242542/
上
下
前次
1-
新
通常表示
512バイト分割
レス栞
抽出解除
レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索
歴削→次スレ
栞削→次スレ
過去ログメニュー
リロード規制
です。10分ほどで解除するので、
他のブラウザ
へ避難してください。
10: デフォルトの名無しさん [sage] 2007/03/01(木) 00:43:46 トッパンのプログラミング言語AWKがブックオフで105円で叩き売られてるのを見て なんか悲しい気分になった http://mevius.5ch.net/test/read.cgi/tech/1172242542/10
11: デフォルトの名無しさん [sage] 2007/03/01(木) 16:01:47 >>10 俺もオライリーの「sed & awk プログラミング」本が、図書館の「無料で持ってけー棚」 にあったので、即 GET した。まあ、かなり古い本(1991 年)だけど、内容はいい本だ。 定価 \3800 円のバカ高本で、 たぶん、新書では買わなかっただろう。 トッパンのプログラミング言語AWKって、いつごろの本だったけ。とりあえず、105円なら 欲しいっす。 http://mevius.5ch.net/test/read.cgi/tech/1172242542/11
127: デフォルトの名無しさん [sage] 2008/04/07(月) 03:10:31 >>126 前者はawkでやるべきことではない。iconv, nkfなどそれ専用のツールがある。 後者も必ずしもawkは不要。コマンドラインが使える環境なら普通にできる。 例えば、Unix系なら cat append.txt >> original.txt で既存のファイルに追加できる。 DOS系でも、type append.txt >> original.txt でできる。 要は、awkのいいところはそれ単体でなんでもできる(或いはできない)ことではなく、 コマンドライン環境で力を発揮するツールであること。 例えば、正規表現でマッチした文字列を置換するだけならテキストエディタでもできる。 あーそうそう、エディタがあれば文字コードの変換もそれだけでできる。 所謂テキストエディタを使ったことがないなら、一度(正規表現検索機能、 文字コード変換機能のある)テキストエディタを触ってみるといいかもしれない。 http://mevius.5ch.net/test/read.cgi/tech/1172242542/127
132: デフォルトの名無しさん [sage] 2008/04/07(月) 12:02:34 >>131 レスありがと gawk '/東京(.+?)号室/ {print > "TEST.txt";}' AAA.txt gawk '/東京(.+?)号室/ {print >> "TEST.txt";}' BBB.txt ファイル名、ディレクトリ名、またはボリューム ラベルの構文が間違っています。 gawk3.16では使えない? http://mevius.5ch.net/test/read.cgi/tech/1172242542/132
191: デフォルトの名無しさん [sage] 2008/08/23(土) 01:53:25 あるフィルタスクリプトをgawkで書いているのですが 文字のコードを整数値に変換しようとしてうまくいきません たとえば「c」という文字のコードを整数値にしようとして BEGIN { testChar = "c"; printf("testChar=%d\n",testChar); } のようにしても「testChar=0」と表示されてしまいます 良い方法があればお教えください http://mevius.5ch.net/test/read.cgi/tech/1172242542/191
215: デフォルトの名無しさん [sage] 2008/11/18(火) 11:28:33 カンマ区切りのデータファイルがあり、その中で、第1フィールドと第3フィールド内にもし 子音、子音、子音、母音が存在すればその行だけ抜き出すオークのスクリプトファイルをつくりたいのですがどうすればよいですか http://mevius.5ch.net/test/read.cgi/tech/1172242542/215
342: デフォルトの名無しさん [] 2010/03/17(水) 22:07:37 時々awkだと遅いのでperlに書き換えるという人がいますが、 実際のところ速くなるんでしょうか? 私の環境ではforループや加算などはawkのほうが速そうですが、 どのような処理の場合にperlのほうが速くなりますか? $ 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 http://mevius.5ch.net/test/read.cgi/tech/1172242542/342
381: デフォルトの名無しさん [sage] 2010/09/27(月) 18:42:12 gensub()にて、マッチした10番目以降のグループの指定の仕方を教えてください。 下記サイトでは、17番目まで普通に指定できるような事が書いてあるけど、 http://tounderlinedk.blogspot.com/2010/08/gensub-n-awk.html gensub(pattern,"\\10","g",$2) とかくと \\1(マッチ箇所)と0(文字)として解釈されちゃって上手くいなかい。 シェルスクリプト風かと思って、\\{10} も試したけどダメダッター。 GNU Awk 3.1.5です。 http://mevius.5ch.net/test/read.cgi/tech/1172242542/381
398: デフォルトの名無しさん [sage] 2010/10/21(木) 20:16:46 sjisで書いた /ー/{print} を実行すると awk: awk: ^ 正規表現が終端されていません。 awk: 致命的: [ または [^ が対応しません。: /[/{print}/ のエラーになってしまいます。 ーの2バイト目が[なせいだと思いますが、どう対応したらいいでしょうか? 入力ファイルはsjisで書かれていて、文字コード変換はできません。 http://mevius.5ch.net/test/read.cgi/tech/1172242542/398
430: デフォルトの名無しさん [sage] 2011/01/06(木) 00:22:04 ▼tes09.awk BEGIN{ if (ARGV[1]=="") ARGV[1]="hoge.txt" while (getline < ARGV[1] > 0) print "BEGIN\t"$0 } ARGV[1]=="hoge.txt"{ print "BODY\t"$0 } ★質問 上記スクリプトを引数を付けた場合と付けない場合をそれぞれ実行しました。 ▼gawk -f tes09.awk hoge.txt BEGIN arima_yuuichi@example.com BEGIN ooizumi_sadawo@example.com BEGIN taguchi_kenji@example.com BODY arima_yuuichi@example.com BODY ooizumi_sadawo@example.com BODY taguchi_kenji@example.com ▼gawk -f tes09.awk BEGIN arima_yuuichi@example.com BEGIN ooizumi_sadawo@example.com BEGIN taguchi_kenji@example.com ここで、BEGIN句での ARGV[1]="hoge.txt" という代入を本編(?)でも有効にする為 にはどうすればいいでしょうか? http://mevius.5ch.net/test/read.cgi/tech/1172242542/430
627: デフォルトの名無しさん [sage] 2011/08/19(金) 00:53:44 生きていることを願って質問を。 WIN32のEXE一つで、下のTEST.AWKがマトモに動くAWKを探しています。 これら以外にありますか? http://hinadori.atnifty.com/~wills/program/gawkm115.zip http://my.vector.co.jp/servlet/System.FileDownload/download/http/0/376460/pack/win95/util/text/awk/gawk-mbcs-win32-20051223.zip?ds http://my.vector.co.jp/servlet/System.FileDownload/download/http/0/80308/pack/win95/util/text/awk/mw32r27.lzh?ds Cygwin版も試したのですがダメでした。 TEST.AWK { gsub("[0-9]","x",$0) ; gsub("ソ","ソ",$0) ; gsub("T","T",$0) ; print } TEST.DAT アイウエオカキクケコサシスセソ ココココサフサコココココ ココココサフサココココ ココココサフサコココココ ココココサフサコココココ サフサフサフサフサフサ ココココサフサコココココ ココココサフサココココ ココココサフサコココココ ココココサフサコココココ サフサフサフサフサフサ http://mevius.5ch.net/test/read.cgi/tech/1172242542/627
686: デフォルトの名無しさん [sage] 2012/07/14(土) 22:27:17 >>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; } http://mevius.5ch.net/test/read.cgi/tech/1172242542/686
688: デフォルトの名無しさん [sage] 2012/07/15(日) 21:09:36 リングでも上限を定めると入力ストリームの上限が不明な場合まずいことになるので、現在は 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; を使っている。 re=regexpとして、Array Aに一致するデータがあれぼそれを取得、結果をArray Aに出力、A[0]に合計が記載。 これ以上(コードサイズ、ある程度の速度、メモリの使用量を極力少なく)という条件で最適化できるだろうか… だれか頼む。 入力と出力先が同じでも、別でも作動するコードなら尚のこと良いのだが… http://mevius.5ch.net/test/read.cgi/tech/1172242542/688
720: デフォルトの名無しさん [sage] 2013/02/06(水) 03:49:18 “任意の記号”を含んだシェル変数をawkに渡すことは可能ですか?たとえば [user@localhost ~]$ var='hoge' [user@localhost ~]$ echo "hoge" | awk -v var="$var" ' $0 ~ var {print var} END {print var} ' hoge hoge ここで、varに$を含ませると [user@localhost ~]$ var='hoge$fuga' [user@localhost ~]$ echo "hoge" | awk -v var="$var" ' $0 ~ var {print var} END {print var} ' hoge$fuga とうまくマッチしませんでした。var自体は渡されているはずですが、何が原因でしょうか? http://mevius.5ch.net/test/read.cgi/tech/1172242542/720
803: デフォルトの名無しさん [] 2016/09/18(日) 10:41:36 ID:6jI6cHER ベクターに公開されてるgawk3.1.5(と非公開の3.1.7)、ヘンテコな処理が見つかったのでメモ このgawkのsystem関数を実行すると、環境変数TMPが指してるフォルダに @echo off system関数の引数 という2行が書かれたバッチファイルpip?.bat(?はsystem実行回数+1)というのが作成され http://mevius.5ch.net/test/read.cgi/tech/1172242542/803
840: デフォルトの名無しさん [sage] 2016/11/23(水) 00:01:26 ID:bt3mTQnz >>839 ブーメランかよwww http://mevius.5ch.net/test/read.cgi/tech/1172242542/840
メモ帳
(0/65535文字)
上
下
前次
1-
新
書
関
写
板
覧
索
設
栞
歴
スレ情報
赤レス抽出
画像レス抽出
歴の未読スレ
AAサムネイル
Google検索
Wikipedia
ぬこの手
ぬこTOP
0.049s