腐っても鯛? 騏も老いては駑馬に劣る?
三人の碩学が生み出したスクリプト言語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/ 0014デフォルトの名無しさん2020/10/22(木) 21:54:08.99ID:JmTLo/S3
フィールド操作をしてもなお行頭の空白を保持して " 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だけど
0022デフォルトの名無しさん2021/07/19(月) 21:05:06.25ID:eMv5hFOn
AWK、ビット演算ができるといいんだけどねぇ。GNUだといけるんだっけ?
まあそういう演算が必要になるような処理には
おとなしくC使っとけってことかな
0025デフォルトの名無しさん2021/07/29(木) 12:29:34.27ID:f23qcyWP
>>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
0028デフォルトの名無しさん2021/08/18(水) 18:20:40.65ID:vS4c4jwy
0030デフォルトの名無しさん2021/08/18(水) 19:21:30.39ID:vS4c4jwy
Ubuntu でなくても CentOS とかでも使える筈。余程ひねくれた Linux ディストリビューションでない限り大丈夫じゃないかな。
man termios でマニュアルページが出てくるようなら多分使える。
0031デフォルトの名無しさん2021/08/29(日) 16:10:31.61ID:9D+MRuLg
以前 awkで数値計算処理するプログラムを書いてたんだけど、高速化のために
gawk から nawk で処理することにしたんだ。小さい処理を書いて、nawk で実行
するとスゲー早くなるんだけど、自分の書いた処理を実行するとわけわからん
エラーを吐く。あちこちコメントアウトして原因を調べると、どうやら、
ループ回数の多い for ループのネストがNGらしいと分かった。nawkの制約を
ググって見たが制約がわからず、仮に自分で試して制約が分かったとしても
ループ処理の書き換えの手間とかを考えると割にあわないので、断念して gawk
のまま使った。かれこれ2年以上たつが、今でも悔しい。
0032デフォルトの名無しさん2021/08/29(日) 17:24:08.41ID:tafixoPz
stack使いすぎなだけじゃね
>>31
mawkの方が速いんじゃね?mawkの特徴は速いところだし。
nawkは古いやつだよ。バグがあるんじゃないかな。 0034デフォルトの名無しさん2021/10/26(火) 10:40:35.62ID:xOnuf5b9
vscodeでAWKを実行する方法
code Runnerを入れて、JSONを追加編集
{
"code-runner.executorMapByFileExtension": {
".awk" : "gawk -f $fullFileName",
},
}
(入力ファイルを使用する実行はできないが、
BEGIN内で完結するスクリプトならOK)
0035デフォルトの名無しさん2021/10/30(土) 23:19:24.33ID:TK9A35ME
gawk 5.1.1 キタ
AWKは必須だわ
過去に書かれたログ管理のスクリプトが膨大過ぎる
バイブルのSecond Edition
> The book will be available by the end of September.
だって。売れるの? 売れまくって訳本出るかな。無理だろうな。
いまだにgawk 3.1.5 mbcs対応版Windows用バイナリ使ってるわ
0040デフォルトの名無しさん2023/07/07(金) 22:53:33.02ID:oLdBfcPF
↓だから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 で良い
0044デフォルトの名無しさん2023/07/08(土) 05:44:08.88ID:vFYcQbUX
大∞!!!!
病∞!!!!!
状∞!!!!!!
癌∞!!!!!!!
移∞!!!!!!!!
薬∞!!!!!!!!!
療∞!!!!!!!!!!
科∞!!!!!!!!!!!
篤∞!!!!!!!!!!!!
帯∞!!!!!!!!!!!!!
付∞!!!!!!!!!!!!!!
殿∞!!!!!!!!!!!!!!!
滴∞!!!!!!!!!!!!!!!!
明∞!!!!!!!!!!!!!!!!!
傷∞!!!!!!!!!!!!!!!!!!
用∞!!!!!!!!!!!!!!!!!!!
錠∞!!!!!!!!!!!!!!!!!!!!
害∞!!!!!!!!!!!!!!!!!!!!!
痛∞!!!!!!!!!!!!!!!!!!!!!!
院∞!!!!!!!!!!!!!!!!!!!!!!!
師∞!!!!!!!!!!!!!!!!!!!!!!!!
期∞!!!!!!!!!!!!!!!!!!!!!!!!!
リ∞!!!!!!!!!!!!!!!!!!!!!!!!!!
症∞!!!!!!!!!!!!!!!!!!!!!!!!!!!
助∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!
援∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
雇∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
款∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
告∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
僚∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
0045デフォルトの名無しさん2023/07/08(土) 06:12:40.74ID:V8Gq2Zo8
>>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). 自分にレスしてしまった
>>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千円するみたいだ。
ピアソンのサイトからドルで買えるのかな。まあ買わんけど。 0051デフォルトの名無しさん2023/11/11(土) 17:36:33.36ID:buhnKvIP
>>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 の新版毎に新機能を解説していたサイト、復活せんかのぅ。 0052デフォルトの名無しさん2023/11/11(土) 17:42:32.23ID:buhnKvIP
>>50
なにこの Qiita とかいう blog 、RSS も Atom も無いの? どうやって新着記事を受け取るの。 0053デフォルトの名無しさん2023/11/19(日) 14:28:12.58ID:zNNtJypz
さあ?考えたこともなかったが、毎日見に行けば良いんじゃね?
0055522023/11/21(火) 20:16:58.00ID:aUIDxCId
>>54
ありまとう。
xxxxx/rss や atom は試したが、feed は気付かなかった。 >>52
そらcURL+awkの毎時バッチ処理でモニュンモニュンよ! 0057デフォルトの名無しさん2024/01/16(火) 16:57:00.76ID:XRwGXHBF
むかしxhr+awkで掲示板の監視したなぁ
クーポン欲しかったんで
0058デフォルトの名無しさん2024/02/17(土) 08:30:13.88ID:MS9Vs8fI
>>51 の関連だが、
"--csv" オプションを BEGIN内で定義するの、どうやるの?
BEGIN { FS = "separater" } みたいな。
info しか見てないけど、書いてないよね。 プログラミング言語AWK 第2版
2024/5/16
うーん、いくらなんでも1800円じゃないと思ったが倍だったか
わしの他に買う人おるんか
0060デフォルトの名無しさん2024/03/24(日) 09:00:36.46ID:lIFxF9tR
>>59
大学が教材で買うのでないの
大学は貧乏なのに 0062デフォルトの名無しさん2024/03/25(月) 12:13:53.70ID:kSxmy8hs
0063デフォルトの名無しさん2024/04/01(月) 16:35:55.29ID:m7kZQf4O
0064デフォルトの名無しさん2024/04/02(火) 15:17:48.57ID:fK4JGkbk
フーン