awkについて語るスレ $3
腐っても鯛? 騏も老いては駑馬に劣る? 三人の碩学が生み出したスクリプト言語AWKについて語るスレ ◆ 前スレ awkについて語るスレ $2 https://mevius.5ch.net/test/read.cgi/tech/1172242542/ ◆ 参考 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/ 作者の本が一番面白い わかりやすいかは知らないげど フィールド操作をしてもなお行頭の空白を保持して " no-indent" と表示する、何か簡単な方法が無かったけ。 $ echo ' indent' | gawk '{$1 = "no-indent"; print}' no-indent $ perl5の純粋な正規表現が強いから ちょっとでもタイプ数減らしてとか なにか特別なこだわる理由が無いならperl5 でOK VSCodeでAwkを使いたいのですがDebugなし実行をしたら下部のターミナルに実行結果を出力したり出来ないでしょうか Awk用のDebug拡張がないとエラーが出ます。そんな拡張存在しないのはわかってます。 解決策にならんけど。 awkならWSLでbash使う方がいいんじゃない? vscodeは分からんけど インラインでawk実行して出力を拾うスクリプトでも書けばいいんじゃない、シンタックスはawkに設定したままで awkじゃない部分のせいで変に認識されるかもしれんが、ホスト言語に無害なコメント文字を追加して無視させたり pwshにC#やF#をヒアストリングで埋め込む時は、そうして補完やハイライトを効かせてる、vimだけど AWK、ビット演算ができるといいんだけどねぇ。GNUだといけるんだっけ? まあそういう演算が必要になるような処理には おとなしくC使っとけってことかな >>23 一旦ビットを任意の桁の数字に変換して演算して元に戻す関数を書けばいいんじゃない? 速くはないと思うけど、どうしてもやりたいのなら。 awkで困るのがスクリプト内のキー入力だな。 DOS時代はこんなcomファイルを作れば良かったが、 Linuxだとなかなか思うようにならない。 ;---------------------------- ; 1文字入力 ; 押されたキーのコードを errorlevel に返す ;---------------------------- code segment assume cs:code, ds:code org 100h start: mov ah, 08h ; 1 文字入力 → al int 21h mov ah, 4Ch ; al → errorlevel int 21h code ends end start Ubuntu でなくても CentOS とかでも使える筈。余程ひねくれた Linux ディストリビューションでない限り大丈夫じゃないかな。 man termios でマニュアルページが出てくるようなら多分使える。 以前 awkで数値計算処理するプログラムを書いてたんだけど、高速化のために gawk から nawk で処理することにしたんだ。小さい処理を書いて、nawk で実行 するとスゲー早くなるんだけど、自分の書いた処理を実行するとわけわからん エラーを吐く。あちこちコメントアウトして原因を調べると、どうやら、 ループ回数の多い for ループのネストがNGらしいと分かった。nawkの制約を ググって見たが制約がわからず、仮に自分で試して制約が分かったとしても ループ処理の書き換えの手間とかを考えると割にあわないので、断念して gawk のまま使った。かれこれ2年以上たつが、今でも悔しい。 >>31 mawkの方が速いんじゃね?mawkの特徴は速いところだし。 nawkは古いやつだよ。バグがあるんじゃないかな。 vscodeでAWKを実行する方法 code Runnerを入れて、JSONを追加編集 { "code-runner.executorMapByFileExtension": { ".awk" : "gawk -f $fullFileName", }, } (入力ファイルを使用する実行はできないが、 BEGIN内で完結するスクリプトならOK) AWKは必須だわ 過去に書かれたログ管理のスクリプトが膨大過ぎる バイブルのSecond Edition > The book will be available by the end of September. だって。売れるの? 売れまくって訳本出るかな。無理だろうな。 いまだにgawk 3.1.5 mbcs対応版Windows用バイナリ使ってるわ ↓だからv3.1.5なのかな。 www.gnu.org/software/gawk/manual/html_node/Feature-History.html Version 4.0 of gawk introduced the following features: Support was removed for the following systems: MS-Windows with the Microsoft Compiler >>38 翻訳する会社があるかどうか 今も日本語訳のプログラミング言語AWKは売られているが これは1989年版を再販しただけで、中身は変わっていないらしい アルフレッド・エイホ、ブライアン・カーニハン、ペーター・ワインバーガ 著、足立高徳 訳『プログラミング言語AWK』トッパン、 1989年11月。ISBN 4-8101-8008-5。 - 「AWK book」(AWK 本)などと呼ばれ、C言語におけるK&Rのような扱いの本である。 日本版は版元の出版事業撤退により最初に絶版となる。 A・エイホ、B・カーニハン、P・ワインバーガー 著、足立高徳 訳『プログラミング言語AWK』シイエム・シイ出版部、2001年2月。ISBN 4901280406。 - トッパン 1989年刊の再刊。 A・エイホ、B・カーニハン、P・ワインバーガー 著、足立高徳 訳『プログラミング言語AWK』新紀元社、2004年2月。ISBN 4-7753-0249-3。 - 新紀元社から復刊されたものの、3度目の絶版となる。 A・エイホ、B・カーニハン、P・ワインバーガー 著、足立高徳 訳『プログラミング言語AWK』ユニバーサル・シェル・プログラミング研究所、2010年1月。ISBN 978-4-904807-00-2。 - ユニバーサル・シェル・プログラミング研究所 から3度目の復刊がなされた。 というか復刊がされるってことは それだけ廃刊になってるということなわけで 売れるのか? awk は、CSV すら無理でしょ テキスト処理やファイル操作などは、Ruby で良い 大∞!!!! 病∞!!!!! 状∞!!!!!! 癌∞!!!!!!! 移∞!!!!!!!! 薬∞!!!!!!!!! 療∞!!!!!!!!!! 科∞!!!!!!!!!!! 篤∞!!!!!!!!!!!! 帯∞!!!!!!!!!!!!! 付∞!!!!!!!!!!!!!! 殿∞!!!!!!!!!!!!!!! 滴∞!!!!!!!!!!!!!!!! 明∞!!!!!!!!!!!!!!!!! 傷∞!!!!!!!!!!!!!!!!!! 用∞!!!!!!!!!!!!!!!!!!! 錠∞!!!!!!!!!!!!!!!!!!!! 害∞!!!!!!!!!!!!!!!!!!!!! 痛∞!!!!!!!!!!!!!!!!!!!!!! 院∞!!!!!!!!!!!!!!!!!!!!!!! 師∞!!!!!!!!!!!!!!!!!!!!!!!! 期∞!!!!!!!!!!!!!!!!!!!!!!!!! リ∞!!!!!!!!!!!!!!!!!!!!!!!!!! 症∞!!!!!!!!!!!!!!!!!!!!!!!!!!! 助∞!!!!!!!!!!!!!!!!!!!!!!!!!!!! 援∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 雇∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 款∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 告∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 僚∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! >>43 > awk は、CSV すら無理でしょ なので、こんな機能が一昔前に追加された。完璧に対応できるか知らんけど。 www.gnu.org/software/gawk/manual/html_node/Feature-History.html Version 4.0 of gawk introduced the following features: Variable additions: FPAT, which allows you to specify a regexp that matches the fields, instead of matching the field separator (see Defining Fields by Content). >>42 goawkを使え。CSVとTSVに完璧に対応してるぞ。 A POSIX-compliant AWK interpreter written in Go, with CSV support https://github.com/benhoyt/goawk $ goawk -i csv '{ print $1 }' quoted.csv 自分にレスしてしまった >>43 goawkを使え。CSVとTSVに完璧に対応してるぞ。 A POSIX-compliant AWK interpreter written in Go, with CSV support https://github.com/benhoyt/goawk $ goawk -i csv '{ print $1 }' quoted.csv >>40 有志がビルドしたVer.4.0以降のWinodows用バイナリ自体はあるんだけど どれも日本語処理がまともにできないっていうね… >>41 もう出ている様子、amazonだと5、6千円するみたいだ。 ピアソンのサイトからドルで買えるのかな。まあ買わんけど。 >>50 うわーい! $ echo 'aaa aaa,"bbb bbb","ccc,ccc"' | gawk --csv '{print $2}' bbb bbb $ gawk --version | head -1 GNU Awk 5.3.0, API 4.0, PMA Avon 8-g1, (GNU MPFR 4.2.1, GNU MP 6.3.0) $ GAwk の新版毎に新機能を解説していたサイト、復活せんかのぅ。 >>50 なにこの Qiita とかいう blog 、RSS も Atom も無いの? どうやって新着記事を受け取るの。 さあ?考えたこともなかったが、毎日見に行けば良いんじゃね? >>54 ありまとう。 xxxxx/rss や atom は試したが、feed は気付かなかった。 >>52 そらcURL+awkの毎時バッチ処理でモニュンモニュンよ! むかしxhr+awkで掲示板の監視したなぁ クーポン欲しかったんで >>51 の関連だが、 "--csv" オプションを BEGIN内で定義するの、どうやるの? BEGIN { FS = "separater" } みたいな。 info しか見てないけど、書いてないよね。 プログラミング言語AWK 第2版 2024/5/16 うーん、いくらなんでも1800円じゃないと思ったが倍だったか わしの他に買う人おるんか 3,650円 https://www.%61mazon.co.jp/dp/4814400705 GAwkとかならともかく、本家AWK (BSD?)ってそんなに変わっているもんなんだろうか。 >>59 大学が教材で買うのでないの 大学は貧乏なのに read.cgi ver 07.4.6 2024/03/23 Walang Kapalit ★ | Donguri System Team 5ちゃんねる