awkについて語るスレ $3

0001デフォルトの名無しさん2020/09/14(月) 12:37:48.22ID:ewkQANK9
腐っても鯛? 騏も老いては駑馬に劣る?
三人の碩学が生み出したスクリプト言語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
$

0015デフォルトの名無しさん2020/11/01(日) 22:14:20.04ID:9AmpQCa+
perl5の純粋な正規表現が強いから
ちょっとでもタイプ数減らしてとか
なにか特別なこだわる理由が無いならperl5 でOK

0016デフォルトの名無しさん2021/02/18(木) 05:43:07.88ID:JtFS2IhM
簡単なパーサ書くには一番簡潔だと思う

0017デフォルトの名無しさん2021/05/07(金) 21:18:53.69ID:r3UqDDaf
VSCodeでAwkを使いたいのですがDebugなし実行をしたら下部のターミナルに実行結果を出力したり出来ないでしょうか
Awk用のDebug拡張がないとエラーが出ます。そんな拡張存在しないのはわかってます。

0018デフォルトの名無しさん2021/06/18(金) 13:53:16.18ID:rMpkljNE
解決策にならんけど。
awkならWSLでbash使う方がいいんじゃない?

0019デフォルトの名無しさん2021/07/18(日) 03:10:26.05ID:a6CF+eHw
perlはなぁ
$がウザいんだよ$が

0020デフォルトの名無しさん2021/07/18(日) 12:09:02.22ID:iK76XXqo
vscodeは分からんけど
インラインでawk実行して出力を拾うスクリプトでも書けばいいんじゃない、シンタックスはawkに設定したままで
awkじゃない部分のせいで変に認識されるかもしれんが、ホスト言語に無害なコメント文字を追加して無視させたり

0021デフォルトの名無しさん2021/07/18(日) 12:12:17.44ID:iK76XXqo
pwshにC#やF#をヒアストリングで埋め込む時は、そうして補完やハイライトを効かせてる、vimだけど

0022デフォルトの名無しさん2021/07/19(月) 21:05:06.25ID:eMv5hFOn
>>19
$1

0023デフォルトの名無しさん2021/07/29(木) 11:49:47.49ID:6K+laz5s
AWK、ビット演算ができるといいんだけどねぇ。GNUだといけるんだっけ?
まあそういう演算が必要になるような処理には
おとなしくC使っとけってことかな

0024デフォルトの名無しさん2021/07/29(木) 11:52:38.70ID:TiMroEot
Bitwise Functions (The GNU Awk User’s Guide)
https://www.gnu.org/software/gawk/manual/html_node/Bitwise-Functions.html

0025デフォルトの名無しさん2021/07/29(木) 12:29:34.27ID:f23qcyWP
>>23
Perlもよろしく

0026デフォルトの名無しさん2021/07/29(木) 15:12:07.59ID:FOJ6srUx
>>23
一旦ビットを任意の桁の数字に変換して演算して元に戻す関数を書けばいいんじゃない?
速くはないと思うけど、どうしてもやりたいのなら。

0027デフォルトの名無しさん2021/08/16(月) 20:05:36.86ID:UULqvt28
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
>>27
https://hotnews8.net/programming/tricky-code/c-code03

肝心なのは非カノニカルモードにすることだな。

0029デフォルトの名無しさん2021/08/18(水) 18:48:35.35ID:3+Zj3nGD
Ubuntu?

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使いすぎなだけじゃね

0033デフォルトの名無しさん2021/08/30(月) 00:45:59.57ID:Y1YJvMvh
>>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 キタ

0036デフォルトの名無しさん2022/04/09(土) 07:36:41.89ID:OA+lRtl7
キタ━━━━(゚∀゚)━━━━!!

0037デフォルトの名無しさん2022/10/30(日) 23:13:43.05ID:T4RtgQ02
AWKは必須だわ
過去に書かれたログ管理のスクリプトが膨大過ぎる

0038デフォルトの名無しさん2023/07/03(月) 20:19:05.03ID:eAFNzqys
バイブルのSecond Edition
> The book will be available by the end of September.
だって。売れるの? 売れまくって訳本出るかな。無理だろうな。

0039デフォルトの名無しさん2023/07/06(木) 08:40:17.31ID:MmKgYZIp
いまだに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

0041デフォルトの名無しさん2023/07/08(土) 01:56:54.81ID:ZE4F8/ug
>>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度目の復刊がなされた。

0042デフォルトの名無しさん2023/07/08(土) 01:58:24.90ID:ZE4F8/ug
というか復刊がされるってことは
それだけ廃刊になってるということなわけで
売れるのか?

0043デフォルトの名無しさん2023/07/08(土) 05:04:22.58ID:Z95/l0J7
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).

0046デフォルトの名無しさん2023/07/08(土) 08:27:09.25ID:ZE4F8/ug
>>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

0047デフォルトの名無しさん2023/07/08(土) 08:27:34.78ID:ZE4F8/ug
自分にレスしてしまった

>>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

0048デフォルトの名無しさん2023/07/13(木) 00:42:11.27ID:67L5jZpB
>>40
有志がビルドしたVer.4.0以降のWinodows用バイナリ自体はあるんだけど
どれも日本語処理がまともにできないっていうね…

0049デフォルトの名無しさん2023/09/28(木) 23:45:42.65ID:sTPdbM4+
>>41
もう出ている様子、amazonだと5、6千円するみたいだ。
ピアソンのサイトからドルで買えるのかな。まあ買わんけど。

0050デフォルトの名無しさん2023/11/11(土) 12:13:12.03ID:sKF2Igrm
https://qiita.com/ko1nksm/items/1a3e711bbd925657f5fd
これ書いてる人はちとアクが強い感じだがその方面で有名ってわけでもない?

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
さあ?考えたこともなかったが、毎日見に行けば良いんじゃね?

0054デフォルトの名無しさん2023/11/21(火) 19:39:00.08ID:0c+F/mqc
https://qiita.com/xxxxx/feed
フィードはこれらしい

0055522023/11/21(火) 20:16:58.00ID:aUIDxCId
>>54
ありまとう。
xxxxx/rss や atom は試したが、feed は気付かなかった。

0056デフォルトの名無しさん2023/12/02(土) 22:15:08.69ID:Cde5SKTZ
>>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 しか見てないけど、書いてないよね。

0059デフォルトの名無しさん2024/03/23(土) 22:16:10.55ID:RQzBui+B
プログラミング言語AWK 第2版
2024/5/16

うーん、いくらなんでも1800円じゃないと思ったが倍だったか
わしの他に買う人おるんか

0060デフォルトの名無しさん2024/03/24(日) 09:00:36.46ID:lIFxF9tR
3,650円 https://www.%61mazon.co.jp/dp/4814400705

GAwkとかならともかく、本家AWK (BSD?)ってそんなに変わっているもんなんだろうか。

0061デフォルトの名無しさん2024/03/25(月) 11:58:39.58ID:/IN+BYqX
>>59
大学が教材で買うのでないの
大学は貧乏なのに

0062デフォルトの名無しさん2024/03/25(月) 12:13:53.70ID:kSxmy8hs
>>60
https://github.com/onetrueawk/awk
ここみてみれば?

0063デフォルトの名無しさん2024/04/01(月) 16:35:55.29ID:m7kZQf4O
35年ぶりの第2版「プログラミング言語AWK 第2版」、オライリーから5月発売
https://www.publickey1.jp/blog/24/352awk_25.html

0064デフォルトの名無しさん2024/04/02(火) 15:17:48.57ID:fK4JGkbk
フーン

新着レスの表示
レスを投稿する