- 1 名前:デフォルトの名無しさん mailto:sage [2007/02/23(金) 23:55:42 ]
- 腐っても鯛? 騏も老いては駑馬に劣る?
三人の碩学が生み出したスクリプト言語AWKについて語るスレ ◆ 前スレ awkについて語るスレ pc10.2ch.net/test/read.cgi/tech/1023556171/ ◆ 関係スレ シェルスクリプト相談室 pc10.2ch.net/test/read.cgi/tech/1112553783/ AWKでCGI pc10.2ch.net/test/read.cgi/php/1171804314/ 【sed】シェルスクリプト総合@LINUX Part2【awk】 pc10.2ch.net/test/read.cgi/linux/1154578200/ ◆ 参考 The AWK Programming Language (Brian Kernighan): ttp://cm.bell-labs.com/cm/cs/awkbook/index.html GAWK (GNU Projedt): ttp://www.gnu.org/software/gawk/
- 170 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 00:58:40 ]
- 『プログラミング言語AWK』には一応載ってるけどな
> (FSに代入される)文字列が1文字より長いときは,正規表現として扱われる
- 171 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 01:10:48 ]
- ベル研系統の言語は記述の自由度はあるが挙動がつかみづらい
- 172 名前:デフォルトの名無しさん mailto:sage [2008/07/20(日) 02:09:53 ]
- >>170
””で囲んだ文字列が正規表現として扱われる ということと //で囲んだ正規表現定数で書いてはいけない ということは同じではない。 実際、split関数の 第3引数に与える正規表現は どちらでも動く むむむ、ここでは($0~/foo/)に置き換えて評価されないんだ… 171の意見が正しいようだね チャンチャン
- 173 名前:デフォルトの名無しさん [2008/07/21(月) 12:39:44 ]
- 複数のファイルの読み込みってできますか?
print ファイル1の$2 ファイル2の$1 みたいな感じで
- 174 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 13:06:32 ]
- >>173
pasteで繋いじゃダメ? 私はよくやるけど。 仮にファイル1が5カラム固定なら、 paste ファイル1 ファイル2| awk '{print $2 $6;}' てな感じで。 # カラム数可変ならもう一捻り必要だけどね。
- 175 名前:デフォルトの名無しさん mailto:sage [2008/07/21(月) 13:50:02 ]
- >>173
awkだけでやりたいならgetlineを使えばできる。
- 176 名前:デフォルトの名無しさん mailto:sage [2008/07/22(火) 18:37:52 ]
- awkすごい便利で、gnuplotと組み合わせてExcelから解放されつつあります。
上の方にあったDFAとNFA使ってる事からくる違いってなんですか?
- 177 名前:デフォルトの名無しさん mailto:sage [2008/07/23(水) 02:40:07 ]
- >>176
一番の違いは、DFAだと後方参照ができないことかな。 とりあえず DFA 前準備に手間を掛けるけど処理そのものは早い NFA 即座に処理を始めるけど、処理に時間がかかる場合がある。 ぐらいに考えておけばいいと思う。
- 178 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 00:57:57 ]
- 保守
- 179 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 14:34:05 ]
- sh + awk は明らかに簡単だと思う。
sh + awk で出来ることを perl のみで記述する人の気持ちがどうしても理解出来ない。 ただ、ネットワークプログラミング以上になるとC, perl, ruby にならざるを得ないけど。 マシン単体での種々の手続き記述だと、 sh + awk がやっぱり一番完結になると思うんだけどな〜。
- 180 名前:デフォルトの名無しさん mailto:sage [2008/08/02(土) 14:49:58 ]
- おれもawkでできることならawkでやる。
でもあまりにトリッキーなことになりそうだったらperlでやったりするかな。
- 181 名前:あいちゃん mailto:sage [2008/08/03(日) 01:39:18 ]
- 人に渡す可能性があるなら、awkは結構つらいことがある。
Perlでやれば基本的に問題ないから、Perlで書く癖がつく。 ShellScriptでいったん使うだけなら、awkは便利だけど。
- 182 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 01:23:58 ]
- >>180
俺も AWK でできるならAWK。 と考えると バイナリーのデータいじる以外はAWKでできるのでは… (少なくとも 俺に日常のニーヅでは そうだ)
- 183 名前:デフォルトの名無しさん mailto:sage [2008/08/04(月) 02:16:24 ]
- >>182
同感。ただバイナリは仕方ないにしても、 全半角混在の固定長フォーマットが扱いにくいんだよな。 ASCIIにすると全角のみ部分が処理しにくいし、 SJISとかにすると正しく切り出せないし・・・ あれはなんとかならんものかな。
- 184 名前:デフォルトの名無しさん mailto:sage [2008/08/07(木) 01:55:09 ]
- やっぱり ASCII だけの問題にしておいた方が無難。
- 185 名前:デフォルトの名無しさん mailto:sage [2008/08/11(月) 15:38:13 ]
- ttp://www.kt.rim.or.jp/~kbk/gawk-3.1/
でダウソできるのがASCIIとSJISをうまく扱えるやつぢゃねの?
- 186 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 00:38:23 ]
- >>185
いや、そのgawk使ってるけど、全半角混在の固定長は困るはず。 両方別々なら問題なく扱えるけど、同時には扱えない。 例えば。SJIS1行5バイト+改行の固定長ファイルで 1行は2項目(a:全半角混在4バイト b:半角のみ1バイト)のファイルがあるとき。 asciiモードならa, bを切り分けられるがaの全角文字は処理できない。 sjisモードならa, bを切り分けられない。 悩ましいのは、項目を切り分けるスクリプトをascii オプションで起動して 出力結果をsjisで処理すれば(めんどくさいけど)現状で処理できてしまう。 ので、マニュアルに書いてある通り、作者をおねがいすれば可能性はあるかもしれないが、 お願いするのが躊躇われる感じなのね。
- 187 名前:デフォルトの名無しさん mailto:sage [2008/08/13(水) 22:12:09 ]
- awkは時代の関数だから使われなくなっていくんだろなあ
- 188 名前:デフォルトの名無しさん mailto:sage [2008/08/15(金) 02:08:00 ]
- UTF-8の場合でも固定長は半角幅しか対応できてない。
文字数とバイト数と表示幅とか、日本語は面倒だのう。 length()とかでバイト数を拾えないから自前で処理もやりにくい。
- 189 名前:デフォルトの名無しさん mailto:sage [2008/08/19(火) 22:37:59 ]
- >>188
一瞬納得しかけたけど。 冷静に考えると、そもそも1文字が可変長であるUTF8を 固定長ファイルの文字コードに使おうと考えた奴を締め上げて 泣くほど問い詰める方が先だと思うのは俺だけ? 考えても考えてもメリットが思いつかないよ…
- 190 名前:デフォルトの名無しさん mailto:sage [2008/08/21(木) 00:40:10 ]
- >>189
ほとんどの文字コードが可変長だからなあ。 相対的に見ればマシな方に入るんじゃない? ホストが絡むと文字コード周りは悲惨だよ… ホストじゃないならそもそも固定長じゃなくて良いんだけどね。
- 191 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 01:53:25 ]
- あるフィルタスクリプトをgawkで書いているのですが
文字のコードを整数値に変換しようとしてうまくいきません たとえば「c」という文字のコードを整数値にしようとして BEGIN { testChar = "c"; printf("testChar=%d\n",testChar); } のようにしても「testChar=0」と表示されてしまいます 良い方法があればお教えください
- 192 名前:デフォルトの名無しさん mailto:sage [2008/08/23(土) 03:21:15 ]
- >>191
awklib に ord ってユーザー定義のライブラリ関数があるからそれを使う。 自前で作ってもいいけどね。 くわしくは info gawk で調べて。
- 193 名前:191 mailto:sage [2008/08/23(土) 03:28:08 ]
- >>192
ありがとうございます 早速検討してみます
- 194 名前:191 mailto:sage [2008/08/23(土) 10:56:41 ]
- >>192
ttp://www.kt.rim.or.jp/~kbk/gawk-30/gawk_16.html にあったものを試してみました.期待どおりの動作をしてくれます. どうもありがとうございました.
- 195 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 01:12:37 ]
- 入力内容をawkで生成することは出来ますでしょうか
もしくはBEGIN等のブロック内で文字列を生成して その文字列のパターン毎に分岐、フィールドを使っての処理 (要はawkに入力ファイル渡した時に簡単に書ける処理) を簡単に書くことは出来るのでしょうか 例えば…どんな処理が適切な説明か判りませんが 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 } …とかそんな感じで、テキストを生成した結果に対して フィルターとして比較式や正規表現で分岐して、フィールドを使って処理する感じです。 やっぱりバッチファイルとawkファイルをいくつも作ったり 一行一行に対してif文で分岐したりsplitで分割するしか無いですかね…。
- 196 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 01:52:51 ]
- >>195
敢えて入力を生成したいのなら、awkをパイプで繋げばいいと思う。 そうではなく、単に乱数で処理を振り分けたいのなら普通にif文でいいと思う。 それはさておき、 -- $1+$2+$3<10{ print $1+$2+$3 } $1+$2+$3>=10{ print ($1+$2+$3) % 10 } -- は別に上の条件式は要らんだろ。一桁の数値を10で割った余りは元のままだからな。
- 197 名前:デフォルトの名無しさん mailto:sage [2008/09/15(月) 14:18:55 ]
- >196
いやあくまで例題なので内容は深く考えないでください…orz 普通にif文とは言うものの、折角awkが標準で備えてる便利な機能を無視して冗長な書き方するのも難だし かと言って.awkファイル複数個とバッチで、パイプでつなげて処理するのも…う〜ん、となってしまう。 良い書き方無いかなぁと思ったので聞いてみたのですが、ifとsplitで頑張ります。
- 198 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 02:58:54 ]
- 質問がよくわからんのだが、BEGIN部で生成したファイルを処理部で扱いたいということかな?
例えば、 gawk 'BEGIN{ ARGV[1]="in_file.txt"; ARGC=2; }{ print }' ってやったら in_file.txt を表示できるぞい
- 199 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 09:51:03 ]
- >198
!!! 目から鱗です。 そっか、ファイル生成しちゃえば一発で行けるのか…やってみます
- 200 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 15:07:48 ]
- うげ、一旦ファイルを作るのはありなのかよ。
ifを使うのは冗長なのに、ファイルを作るのは冗長じゃないってどんなセンスなんだ。
- 201 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 17:48:16 ]
- >200
入力データは規則性のあるもので、生成してしまえるけど それに対しての分岐は多い…という場合 ifやsplitを羅列するよりも、awkが元々持ってる パターンとフィールド分割を使った方が スッキリすると思うのですが間違ってるでしょうか…。
- 202 名前:デフォルトの名無しさん mailto:sage [2008/09/16(火) 19:39:26 ]
- >>201
別にいいんじゃね? 巨大な中間ファイルを作るってわけでもないんだろうし。 まぁ、次の理由で私は中間ファイルを作るのは避けるけどね。 ・フルパスを指定しない場合、カレントディレクトリに書き込み権限がある保障がない。 ・そもそも同名ファイルが存在していて書き込み権限がないかも知れない。 ・つーか、同時に2件動かしたらバッティングしてしまう。 ・だからと言って、一々ユニークな名前のファイル名を生成するのも面倒だ。 ・しかも、中間ファイルは後で消しておく必要があるかもしれない。 それと、自前で入力を生成するなら、最初から分割された状態で作ればいいからsplitは要らないね。 パターンを使うかifを使うかは趣味の問題のような気がするけど。 # $1+$2+$3<10{print;}と書くかif($1+$2+$3<10){print;}と書くかの違いだもんね。
- 203 名前:デフォルトの名無しさん mailto:sage [2008/09/18(木) 01:19:00 ]
- 色々考え方があるのね。
自分ならトリッキーな細工して1つに収めず分割してif使わずに書くけど。 手早くカタをつけられるのがawkの良い所だと思うし、 技巧に走ると間違いなく忘れるのでメンテ不可能になる可能性大 ま、それはそれとして>>198はパズル的な面白さがあって良いね。
- 204 名前:デフォルトの名無しさん mailto:sage [2008/09/19(金) 19:54:42 ]
- >202
う〜ん、言われてみればそうかも。 一応、今回のは仕事で使うわけでもなければ他人に使ってもらう予定もない 完全な個人用スクリプトなのでどうにでもなりますが これが業務や自分以外も使うものであれば素直にifなんでしょうね。
- 205 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 20:50:40 ]
- 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 というファイル一覧から、gawkで今日の日付のファイルだけ抜き出すにはどうすりゃいいんだっけ? BEGIN{month = strftime("%m",systime()); date = strftime("%d",systime())} /month/ && /date/ {print $0} でいいかと思ったら、/ /のなかにmonthとかは使えないらしい。 /strftime("%d",systime())/ {print $0} とべた書きしてもだめ。 ど忘れ中。ヘルプミー。
- 206 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 21:05:13 ]
- BEGIN{date=strftime("%m/%d")} $0 ~ date {print $0}
- 207 名前:デフォルトの名無しさん mailto:sage [2008/09/22(月) 21:45:34 ]
- >>206
thanks!
- 208 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 19:41:51 ]
- 質問です。
入力中のファイル名はFILENAMEにセットされますが、 入力中のファイルのパスを取得するにはどうしたらよいですか。
- 209 名前:デフォルトの名無しさん mailto:sage [2008/10/10(金) 22:13:43 ]
- >>208
FILENAMEで得られる情報が全て。フルパスが欲しいということなら、 cwdを取得してそこからの相対パスがFILENAME。
- 210 名前:デフォルトの名無しさん [2008/11/12(水) 19:19:08 ]
-
awkの結果を set か setenv の変数に代入したいです。 awk '{ print $1+ $3 }' test.txt で数値が出ます。 この結果を変数に代入するにはどうしたらいいんでしょうか? set tmp=`awk '{ $1+ $3 }' test.txt` これだと上手くいきません。print はそのままでいいのでしょうか?
- 211 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 20:24:22 ]
- なんで print を省略できると考えたのかが謎だが
- 212 名前:デフォルトの名無しさん mailto:sage [2008/11/12(水) 23:57:16 ]
- >print はそのままでいいのでしょうか?
まず試せよw
- 213 名前:デフォルトの名無しさん mailto:sage [2008/11/13(木) 14:17:14 ]
- 新紀元社のプログラミング言語awkがどこも売り切れなんだけど
もう入らないのかな
- 214 名前:デフォルトの名無しさん mailto:sage [2008/11/16(日) 03:02:56 ]
- >>211
printは画面表示するもの→変数に入れるだけなら不要 …と思ったんじゃ内科ね
- 215 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 11:28:33 ]
- カンマ区切りのデータファイルがあり、その中で、第1フィールドと第3フィールド内にもし
子音、子音、子音、母音が存在すればその行だけ抜き出すオークのスクリプトファイルをつくりたいのですがどうすればよいですか
- 216 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 11:41:15 ]
- >>215
データファイルのサンプルと抜き出したい行ヨロ
- 217 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 11:50:40 ]
- こんな感じです
takeshi,fiad,fdjioaf,fdjsoafds(←該当なし) dddacea,fsaofsa,rrra,fjisaofdjsa(dddaとrrraが該当) aexxxu,dsoifsa,yyyuo,fjsaofa(xxxuとyyyuが該当)
- 218 名前:びぎなぁ mailto:sage [2008/11/18(火) 12:12:55 ]
- オークスクリプトを実行すると情報を表示するようにしたのですが1行目と最後の行だけを表示しないようにするには
END内に何て書けば宜しいでしょうか
- 219 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 12:43:59 ]
- >>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 } パターン繰り返しって {3} とかでいけるはずなんだが 書き方知らないのでコピペしたw
- 220 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 12:47:37 ]
- >>218
逐次出力してる? END でまとめて出力してる?
- 221 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 13:53:22 ]
- >>218
1行ずつバッファリングして、次の行の入力で前の行を出力すれば最後の行は消えてなくなる。 awk 'NR > 2 {print buffer;} NR > 1 {buffer = $0;}'
- 222 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 14:20:29 ]
- >>215
gawkなら awk -F "," -v r="[bcdfghj-np-tv-z]{3}[aiueo]" --posix '$1 ~ r && $3 ~ r' $1と$3どちらか一方にあればいいなら&&を||に変えてね
- 223 名前:デフォルトの名無しさん mailto:sage [2008/11/18(火) 16:29:37 ]
- >>219
助かりました!
- 224 名前:びぎなぁ mailto:sage [2008/11/18(火) 16:46:03 ]
- 出来ました ありがとうございます
- 225 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:48:41 ]
- 込み入ってて整理できないので教えてください。
・対象のテキストは2行目がない(1行目しかない)かつ ・1行目はひらがなカタカナ漢字で15文字以内 という条件を書くのって、次のようにしたのですが、うまくヒットしません。 どう書けばいいでしょう? NR==2 && length($0) == 0 && NR==1 && /[ぁ-んァ-ヶ亜-腕]{1,15}/
- 226 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:53:31 ]
- >>225
NR == 2 && NR == 1じゃ、絶対成立しないだろ。
- 227 名前:デフォルトの名無しさん mailto:sage [2008/11/19(水) 23:54:54 ]
- awkは行を1行ずつ処理するから、事前にトータル行数を知ることはできない。
トータル行数が1行であることを保証したいなら、ENDブロックで処理するしかない。
- 228 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 00:22:37 ]
- >事前にトータル行数を知ることはできない
BEGIN部で数えれば?
- 229 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 00:28:19 ]
- >>228
どうやって? 対象がファイルである保証があるならwcでも呼べばいいけどそれならawkでやる必要さえないよね。
- 230 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 03:49:07 ]
- { a = $0 }
END { if (NR == 1 && a ~ /re/) print a } とか?
- 231 名前:デフォルトの名無しさん mailto:sage [2008/11/20(木) 23:58:06 ]
- どなたか、任意ビット幅の2の補数HEXをDECに変換するプログラムを書いてもらえませぬか?
- 232 名前:デフォルトの名無しさん mailto:sage [2008/11/22(土) 12:02:58 ]
- 仕様が不明確なところがあるし、なによりなんでawkで?
- 233 名前:デフォルトの名無しさん mailto:sage [2008/11/26(水) 22:53:51 ]
- >>232
ここがawkスレだからでしょ。
- 234 名前:デフォルトの名無しさん mailto:sage [2008/11/29(土) 03:05:38 ]
- >>232
考えるな。感じろw
- 235 名前:デフォルトの名無しさん mailto:sage [2008/12/12(金) 07:21:00 ]
- 「あなたは何故awkでやろうとするのですか?」
「そこにawkがあるから」
- 236 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 04:23:45 ]
- awkからsystem()でgrepとかsedとか呼んだりする癖が付いている
シェルスクリプトにする方がむしろ違和感
- 237 名前:デフォルトの名無しさん mailto:sage [2008/12/13(土) 23:56:31 ]
- おいおい、grepやsedぐらい呼び出さずにawkでやろうぜ。
- 238 名前:デフォルトの名無しさん mailto:sage [2008/12/16(火) 00:29:26 ]
- grepやsedはパイプでつなげて使うものじゃないの?(^^;
- 239 名前:デフォルトの名無しさん [2009/01/10(土) 22:10:41 ]
- gawk 3.1.4 mb のwindows版のEXEファイルが欲しい…
- 240 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 00:38:51 ]
- なんでそんな古いバージョンが欲しいの?
- 241 名前:デフォルトの名無しさん [2009/01/11(日) 12:16:04 ]
- >なんでそんな古いバージョンが欲しいの?
lengthとかsubstrで、「j」付き文字列関数があるからです。 3.1.5以降だと、同じスクリプトファイル内で、バイト単位処理と キャラクター単位処理の混在が難儀なのです。
- 242 名前:240 mailto:sage [2009/01/11(日) 15:01:36 ]
- 3.1.5で文字の扱いが変わったのはその通りだけど、3.1.4のWindows版て
jlengthやらあったっけ? なかったと思うんだけど。
- 243 名前:デフォルトの名無しさん [2009/01/11(日) 15:48:22 ]
- >なかったと思うんだけど。
えっ。3.1.4以前のはバイト単位オンリーって事ですか? …それでも2バイト換算で扱えばいいから、まだマシかも。 j付きが追加されていたけど、動作変更に伴って廃止された… と思っていました。 記憶にあるのは、どなたかの独自拡張別Verだったのか…?
- 244 名前:240 mailto:sage [2009/01/11(日) 17:54:21 ]
- > えっ。3.1.4以前のはバイト単位オンリーって事ですか? ちゃう。
jなんとかがあったのは、 2.11ベースのjgawkと2.15ベースのjgawk 2.15ベースのとgawk+mb 3.0.xベースのgawk+mb で、3.1.xベースのにはなかったという話だったと思う。 それぞれやってる人が違う。
- 245 名前:デフォルトの名無しさん [2009/01/11(日) 19:05:17 ]
- >3.1.xベースのにはなかったという話だったと思う。
そうですか…。 gawk 3.1.4 mb のwindows版のEXEファイルが欲しい… ではなくて、 3.0.xベースのgawk+mb のwindows版のEXEファイルが欲しい… という事になる訳ですが…無理っぽい。 あっても関数や組込変数が減少…その前に16bitDOS版ONLYの予感…。 諦めます。240さん、どうもでした。
- 246 名前:デフォルトの名無しさん mailto:sage [2009/01/11(日) 19:50:26 ]
- >>245
www.hinadori.atnifty.com/~wills/ にあるよ。3.0.6のやつ。 DOS版だけじゃなくてWin32版もある。 3.0.6→3.1.xで増えた機能でも使ってんの?
- 247 名前:デフォルトの名無しさん [2009/01/11(日) 22:30:39 ]
- >あるよ。3.0.6のやつ。
おお。 ありがとうございます。 >3.0.6→3.1.xで増えた機能でも使ってんの? いつ何が増えたのかよく把握していないんですが、 gensubとかmktimeとかswitch-caseとか…ありますかね。 まあ、代替手段はあるので試してみます。どうもです。
- 248 名前:デフォルトの名無しさん [2009/02/23(月) 08:11:12 ]
- awkで、組み合わせの全てを作る、という事はできるのでしょうか?
いわゆるnCrの、個数ではなくて、中身を知りたいという事なのですが・・・。 (mawkを使っています)
- 249 名前:デフォルトの名無しさん mailto:sage [2009/02/24(火) 18:18:34 ]
- >>248
できます
- 250 名前:sage [2009/03/04(水) 15:23:19 ]
- 248です。
なんとかできました。249さんどうもです。
- 251 名前:デフォルトの名無しさん mailto:sage [2009/03/04(水) 15:24:16 ]
- sage間違えた…
- 252 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 11:47:59 ]
- int(0.5005*10000)が5004になるのはなぜですか。
- 253 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 12:41:00 ]
- 丸め誤差でしょう。
切り捨て前に0.5足すとか工夫してみては如何でしょうか。 詳しくは、IEEEと丸め誤差辺りのキーワードで検索のこと。
- 254 名前:デフォルトの名無しさん mailto:sage [2009/03/23(月) 19:57:34 ]
- >253
ありがとう
|

|