- 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/
- 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
ありがとう
|

|