◎正当な理由による書き込みの削除について:      生島英之とみられる方へ:

awkについて語るスレ


動画、画像抽出 || この掲示板へ 類似スレ 掲示板一覧 人気スレ 動画人気順

このスレへの固定リンク: http://5chb.net/r/tech/1600054668/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

1デフォルトの名無しさん
2020/09/14(月) 12:37:48.22ID:ewkQANK9
腐っても鯛? 騏驎も老いては駑馬に劣る?
三人の碩学が生み出したスクリプト言語AWKについて語るスレ

◆ 前スレ
awkについて語るスレ $2
http://2chb.net/r/tech/1172242542/

◆ 参考
The AWK Programming Language (Brian Kernighan):
http://cm.bell-labs.com/cm/cs/awkbook/index.html

GAWK (GNU Projedt):
http://www.gnu.org/software/gawk/
2デフォルトの名無しさん
2020/09/14(月) 13:50:10.07ID:H3Bos02D
O2
3デフォルトの名無しさん
2020/09/23(水) 14:22:14.30ID:0WMzoqh5
本を読んでたら%45.45sという書式が出てきてこれ間違いだろって思ったら
文字列の場合は小数部ではなく最大幅になるなんて知らなかった
$ awk 'BEGIN { printf("%.5s\n", "abc----------") }'
abc--
でも使いどころ難しそう
4デフォルトの名無しさん
2020/09/23(水) 14:46:12.52ID:YfY3TQQ4
$ awk 'BEGIN { printf("%5.5s\n", "abc-") }'
$ awk 'BEGIN { printf("%.5s\n", "abc-") }'
$ awk 'BEGIN { printf("%5s\n", "abc-") }'
5デフォルトの名無しさん
2020/09/23(水) 14:47:16.95ID:YfY3TQQ4
$ awk 'BEGIN { printf("%-5.5s\n", "abc-") }'
$ awk 'BEGIN { printf("%-.5s\n", "abc-") }'
$ awk 'BEGIN { printf("%-5s\n", "abc-") }'
6デフォルトの名無しさん
2020/09/25(金) 21:33:57.37ID:vR6GHAXY
awk は語らず
7デフォルトの名無しさん
2020/10/01(木) 21:33:10.71ID:Hlt30BS/
ド素人、予備知識なしがゼロから学ぶのに参考書おすすめ教えてください。
会社でawk使うことになりました。
8デフォルトの名無しさん
2020/10/02(金) 01:11:30.66ID:iPnIlJ3t
プログラミング言語AWKで勉強したけど
gawkの拡張機能はgoogle先生に聞いてる
9デフォルトの名無しさん
2020/10/02(金) 10:32:39.56ID:Y4P66lDx
>>7
オンラインマニュアルではなんでいけないの?
10デフォルトの名無しさん
2020/10/02(金) 12:51:45.18ID:vJ669CE7
参考書の種類もあまりawkないっしょ
11デフォルトの名無しさん
2020/10/02(金) 13:52:29.74ID:WC+nGixi
以前は awk 勉強したけど
perl とか python とかで済ませてるから
もうメンテ以外では使わないな
12デフォルトの名無しさん
2020/10/04(日) 13:10:48.21ID:4IGvE5yV
簡単な処理ではワンライナーでたまに使う。
13デフォルトの名無しさん
2020/10/07(水) 16:59:03.05ID:G+m/WVyH
作者の本が一番面白い
わかりやすいかは知らないげど
14デフォルトの名無しさん
2020/10/22(木) 21:54:08.99ID:JmTLo/S3
フィールド操作をしてもなお行頭の空白を保持して " no-indent" と表示する、何か簡単な方法が無かったけ。
$ echo ' indent' | gawk '{$1 = "no-indent"; print}'
no-indent
$
15デフォルトの名無しさん
2020/11/01(日) 22:14:20.04ID:9AmpQCa+
perl5の純粋な正規表現が強いから
ちょっとでもタイプ数減らしてとか
なにか特別なこだわる理由が無いならperl5 でOK
16デフォルトの名無しさん
2021/02/18(木) 05:43:07.88ID:JtFS2IhM
簡単なパーサ書くには一番簡潔だと思う
17デフォルトの名無しさん
2021/05/07(金) 21:18:53.69ID:r3UqDDaf
VSCodeでAwkを使いたいのですがDebugなし実行をしたら下部のターミナルに実行結果を出力したり出来ないでしょうか
Awk用のDebug拡張がないとエラーが出ます。そんな拡張存在しないのはわかってます。
18デフォルトの名無しさん
2021/06/18(金) 13:53:16.18ID:rMpkljNE
解決策にならんけど。
awkならWSLでbash使う方がいいんじゃない?
19デフォルトの名無しさん
2021/07/18(日) 03:10:26.05ID:a6CF+eHw
perlはなぁ
$がウザいんだよ$が
20デフォルトの名無しさん
2021/07/18(日) 12:09:02.22ID:iK76XXqo
vscodeは分からんけど
インラインでawk実行して出力を拾うスクリプトでも書けばいいんじゃない、シンタックスはawkに設定したままで
awkじゃない部分のせいで変に認識されるかもしれんが、ホスト言語に無害なコメント文字を追加して無視させたり
21デフォルトの名無しさん
2021/07/18(日) 12:12:17.44ID:iK76XXqo
pwshにC#やF#をヒアストリングで埋め込む時は、そうして補完やハイライトを効かせてる、vimだけど
22デフォルトの名無しさん
2021/07/19(月) 21:05:06.25ID:eMv5hFOn
>>19
$1
23デフォルトの名無しさん
2021/07/29(木) 11:49:47.49ID:6K+laz5s
AWK、ビット演算ができるといいんだけどねぇ。GNUだといけるんだっけ?
まあそういう演算が必要になるような処理には
おとなしくC使っとけってことかな
24デフォルトの名無しさん
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
25デフォルトの名無しさん
2021/07/29(木) 12:29:34.27ID:f23qcyWP
>>23
Perlもよろしく
26デフォルトの名無しさん
2021/07/29(木) 15:12:07.59ID:FOJ6srUx
>>23
一旦ビットを任意の桁の数字に変換して演算して元に戻す関数を書けばいいんじゃない?
速くはないと思うけど、どうしてもやりたいのなら。
27デフォルトの名無しさん
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
28デフォルトの名無しさん
2021/08/18(水) 18:20:40.65ID:vS4c4jwy
>>27
https://hotnews8.net/programming/tricky-code/c-code03

肝心なのは非カノニカルモードにすることだな。
29デフォルトの名無しさん
2021/08/18(水) 18:48:35.35ID:3+Zj3nGD
Ubuntu?
30デフォルトの名無しさん
2021/08/18(水) 19:21:30.39ID:vS4c4jwy
Ubuntu でなくても CentOS とかでも使える筈。余程ひねくれた Linux ディストリビューションでない限り大丈夫じゃないかな。
man termios でマニュアルページが出てくるようなら多分使える。
31デフォルトの名無しさん
2021/08/29(日) 16:10:31.61ID:9D+MRuLg
以前 awkで数値計算処理するプログラムを書いてたんだけど、高速化のために
gawk から nawk で処理することにしたんだ。小さい処理を書いて、nawk で実行
するとスゲー早くなるんだけど、自分の書いた処理を実行するとわけわからん
エラーを吐く。あちこちコメントアウトして原因を調べると、どうやら、
ループ回数の多い for ループのネストがNGらしいと分かった。nawkの制約を
ググって見たが制約がわからず、仮に自分で試して制約が分かったとしても
ループ処理の書き換えの手間とかを考えると割にあわないので、断念して gawk
のまま使った。かれこれ2年以上たつが、今でも悔しい。
32デフォルトの名無しさん
2021/08/29(日) 17:24:08.41ID:tafixoPz
stack使いすぎなだけじゃね
33デフォルトの名無しさん
2021/08/30(月) 00:45:59.57ID:Y1YJvMvh
>>31
mawkの方が速いんじゃね?mawkの特徴は速いところだし。
nawkは古いやつだよ。バグがあるんじゃないかな。
34デフォルトの名無しさん
2021/10/26(火) 10:40:35.62ID:xOnuf5b9
vscodeでAWKを実行する方法
code Runnerを入れて、JSONを追加編集

{
"code-runner.executorMapByFileExtension": {

".awk" : "gawk -f $fullFileName",
},
}

(入力ファイルを使用する実行はできないが、
BEGIN内で完結するスクリプトならOK)
35デフォルトの名無しさん
2021/10/30(土) 23:19:24.33ID:TK9A35ME
gawk 5.1.1 キタ
36デフォルトの名無しさん
2022/04/09(土) 07:36:41.89ID:OA+lRtl7
キタ━━━━(゚∀゚)━━━━!!
37デフォルトの名無しさん
2022/10/30(日) 23:13:43.05ID:T4RtgQ02
AWKは必須だわ
過去に書かれたログ管理のスクリプトが膨大過ぎる
38デフォルトの名無しさん
2023/07/03(月) 20:19:05.03ID:eAFNzqys
バイブルのSecond Edition
> The book will be available by the end of September.
だって。売れるの? 売れまくって訳本出るかな。無理だろうな。
39デフォルトの名無しさん
2023/07/06(木) 08:40:17.31ID:MmKgYZIp
いまだにgawk 3.1.5 mbcs対応版Windows用バイナリ使ってるわ
40デフォルトの名無しさん
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
41デフォルトの名無しさん
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度目の復刊がなされた。
42デフォルトの名無しさん
2023/07/08(土) 01:58:24.90ID:ZE4F8/ug
というか復刊がされるってことは
それだけ廃刊になってるということなわけで
売れるのか?
43デフォルトの名無しさん
2023/07/08(土) 05:04:22.58ID:Z95/l0J7
awk は、CSV すら無理でしょ

テキスト処理やファイル操作などは、Ruby で良い
44デフォルトの名無しさん
2023/07/08(土) 05:44:08.88ID:vFYcQbUX
大∞!!!!
病∞!!!!!
状∞!!!!!!
癌∞!!!!!!!
移∞!!!!!!!!
薬∞!!!!!!!!!
療∞!!!!!!!!!!
科∞!!!!!!!!!!!
篤∞!!!!!!!!!!!!
帯∞!!!!!!!!!!!!!
付∞!!!!!!!!!!!!!!
殿∞!!!!!!!!!!!!!!!
滴∞!!!!!!!!!!!!!!!!
明∞!!!!!!!!!!!!!!!!!
傷∞!!!!!!!!!!!!!!!!!!
用∞!!!!!!!!!!!!!!!!!!!
錠∞!!!!!!!!!!!!!!!!!!!!
害∞!!!!!!!!!!!!!!!!!!!!!
痛∞!!!!!!!!!!!!!!!!!!!!!!
院∞!!!!!!!!!!!!!!!!!!!!!!!
師∞!!!!!!!!!!!!!!!!!!!!!!!!
期∞!!!!!!!!!!!!!!!!!!!!!!!!!
リ∞!!!!!!!!!!!!!!!!!!!!!!!!!!
症∞!!!!!!!!!!!!!!!!!!!!!!!!!!!
助∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!
援∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
雇∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
款∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
告∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
僚∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
45デフォルトの名無しさん
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).
46デフォルトの名無しさん
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
47デフォルトの名無しさん
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
48デフォルトの名無しさん
2023/07/13(木) 00:42:11.27ID:67L5jZpB
>>40
有志がビルドしたVer.4.0以降のWinodows用バイナリ自体はあるんだけど
どれも日本語処理がまともにできないっていうね…
49デフォルトの名無しさん
2023/09/28(木) 23:45:42.65ID:sTPdbM4+
>>41
もう出ている様子、amazonだと5、6千円するみたいだ。
ピアソンのサイトからドルで買えるのかな。まあ買わんけど。
50デフォルトの名無しさん
2023/11/11(土) 12:13:12.03ID:sKF2Igrm
https://qiita.com/ko1nksm/items/1a3e711bbd925657f5fd
これ書いてる人はちとアクが強い感じだがその方面で有名ってわけでもない?
51デフォルトの名無しさん
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 の新版毎に新機能を解説していたサイト、復活せんかのぅ。
52デフォルトの名無しさん
2023/11/11(土) 17:42:32.23ID:buhnKvIP
>>50
なにこの Qiita とかいう blog 、RSS も Atom も無いの? どうやって新着記事を受け取るの。
53デフォルトの名無しさん
2023/11/19(日) 14:28:12.58ID:zNNtJypz
さあ?考えたこともなかったが、毎日見に行けば良いんじゃね?
54デフォルトの名無しさん
2023/11/21(火) 19:39:00.08ID:0c+F/mqc
https://qiita.com/xxxxx/feed
フィードはこれらしい
5552
2023/11/21(火) 20:16:58.00ID:aUIDxCId
>>54
ありまとう。
xxxxx/rss や atom は試したが、feed は気付かなかった。
56デフォルトの名無しさん
2023/12/02(土) 22:15:08.69ID:Cde5SKTZ
>>52
そらcURL+awkの毎時バッチ処理でモニュンモニュンよ!
57デフォルトの名無しさん
2024/01/16(火) 16:57:00.76ID:XRwGXHBF
むかしxhr+awkで掲示板の監視したなぁ
クーポン欲しかったんで
58デフォルトの名無しさん
2024/02/17(土) 08:30:13.88ID:MS9Vs8fI
>>51 の関連だが、
"--csv" オプションを BEGIN内で定義するの、どうやるの?

BEGIN { FS = "separater" } みたいな。

info しか見てないけど、書いてないよね。
59デフォルトの名無しさん
2024/03/23(土) 22:16:10.55ID:RQzBui+B
プログラミング言語AWK 第2版
2024/5/16

うーん、いくらなんでも1800円じゃないと思ったが倍だったか
わしの他に買う人おるんか
60デフォルトの名無しさん
2024/03/24(日) 09:00:36.46ID:lIFxF9tR
3,650円 https://www.%61mazon.co.jp/dp/4814400705

GAwkとかならともかく、本家AWK (BSD?)ってそんなに変わっているもんなんだろうか。
61デフォルトの名無しさん
2024/03/25(月) 11:58:39.58ID:/IN+BYqX
>>59
大学が教材で買うのでないの
大学は貧乏なのに
62デフォルトの名無しさん
2024/03/25(月) 12:13:53.70ID:kSxmy8hs
>>60
https://github.com/onetrueawk/awk
ここみてみれば?
63デフォルトの名無しさん
2024/04/01(月) 16:35:55.29ID:m7kZQf4O
35年ぶりの第2版「プログラミング言語AWK 第2版」、オライリーから5月発売
https://www.publickey1.jp/blog/24/352awk_25.html
64デフォルトの名無しさん
2024/04/02(火) 15:17:48.57ID:fK4JGkbk
フーン
65デフォルトの名無しさん
2024/06/18(火) 04:10:23.75ID:Li8KIoEM
AWKを知らない若者で炎上しておる
66デフォルトの名無しさん
2024/06/18(火) 07:24:55.09ID:L45mqPk3
A ... 82歳
W ... 81歳
K ... 82歳
67デフォルトの名無しさん
2024/06/18(火) 07:59:20.89ID:7l1MdKKx
awkで日本語を扱うとかチャレンジャーだな
書籍の出版が最近のものほど良いという謎の判断をする初心者が増えたよな。
68デフォルトの名無しさん
2024/06/18(火) 08:01:35.49ID:7l1MdKKx
シェルスクリプト内で使われている意味すら知らないなんて順番がおかしい。
69デフォルトの名無しさん
2024/06/18(火) 08:22:22.42ID:rmcc/tYz
ガウォーク
70デフォルトの名無しさん
2024/06/18(火) 09:03:03.70ID:7l1MdKKx
最近までいた職場もキータの記事を引用していたな
怖い
71デフォルトの名無しさん
2024/06/18(火) 09:07:04.68ID:7l1MdKKx
gawkの宣伝が混ざっているスレか
72デフォルトの名無しさん
2024/06/18(火) 10:26:57.44ID:K2nHM9ZT
>>65
何のお話しでつか
73デフォルトの名無しさん
2024/06/18(火) 11:47:17.44ID:Li8KIoEM
>>72
twitterでawkを検索
74デフォルトの名無しさん
2024/06/18(火) 13:24:24.39ID:Yg9xtfWz
awkでC言語のソースを自動生成したことあるぞ
30ウン年前
三角関数のテーブル
360度を256等分して、2バイト符号付き整数でsinとcosが32768分のいくつかっていうのを並べたテーブル
75デフォルトの名無しさん
2024/06/18(火) 13:55:32.44ID:Yg9xtfWz
Copilot

それは非常に興味深いプロジェクトですね。AWKを使ってC言語のソースコードを自動生成するのは、特に数学的な計算やデータ処理が必要な場合に便利です。三角関数のテーブルを生成するというのは、特に組み込みシステムやリアルタイムアプリケーションで役立つことでしょう。

AWKはテキスト処理に特化したプログラミング言語であり、行単位のデータを処理するのが一般的な使い方ですが、プログラミング言語としての機能も備えているため、行単位のデータ以外を処理することも可能です。

例えば、360度を256等分して、各角度に対するsinとcosの値を2バイト符号付き整数で表現するテーブルは、以下のようなAWKスクリプトで生成できます。

BEGIN {
 for (i = 0; i < 256; i++) {
  # 角度をラジアンに変換
  rad = i * (2 * 3.14159265358979323846 / 256);
  # sinとcosの値を計算
  sin_val = int(sin(rad) * 32768);
  cos_val = int(cos(rad) * 32768);
  # テーブルに値を出力
  printf "%d, %d,\n", sin_val, cos_val;
 }
}

このスクリプトは、0度から355度までの各角度に対して、sinとcosの値を計算し、それを32768でスケーリングして整数に変換し、テーブルとして出力します。AWKは数値計算にも対応しているため、このような用途にも適しています。

もし現代の環境で同様のテーブルを生成したい場合は、AWKだけでなく他のツールや言語を使う選択肢もありますが、AWKはそのシンプルさとポータビリティで依然として有用です。もし何かお手伝いできることがあれば、お知らせください。
76デフォルトの名無しさん
2024/06/18(火) 14:14:13.16ID:K2nHM9ZT
>>73
この人でつか。
https://x.com/hirayamaxkakeru/status/1801232615200198879
本が改訂されたとはいえ平積みされたことに驚いた。
77デフォルトの名無しさん
2024/06/18(火) 14:14:49.73ID:7l1MdKKx
キャラクタセットの情報が与えられてないぞ?
78デフォルトの名無しさん
2024/06/18(火) 14:17:07.68ID:7l1MdKKx
>>76
なんかなぜ書籍のタイトルで探しているのかわからないポンコツだよな

宣伝なのかもしれないけど
79デフォルトの名無しさん
2024/06/18(火) 14:18:38.82ID:7l1MdKKx
いまどき学歴を書く古いスタイルもわからない
80デフォルトの名無しさん
2024/06/18(火) 14:21:06.45ID:7l1MdKKx
>>76
別の投稿を見ると自慢だらけでゲロが出そう
81デフォルトの名無しさん
2024/06/18(火) 14:22:11.28ID:Li8KIoEM
>>76
そう
この経歴で全く知らないってことはあるんかって思った次第
82デフォルトの名無しさん
2024/06/18(火) 14:23:47.05ID:Li8KIoEM
真面目に勉強してきて本当に知らないのであれば
我々が想像以上に今の若手エンジニアの技術は偏ってるんだろうな
もはやLinuxすら触ることをしていない可能性
83デフォルトの名無しさん
2024/06/18(火) 14:38:57.57ID:7l1MdKKx
bashのスクリプトからawk、sedならわかるんだが、awk単独でどうとか

アマゾンのレビューで吉田というやつのみが5つ星で、この吉田のプロフィールがヒラヤマというXに繋がっている可能性がある

あまりに読んでなさすぎだと思ったら、読んでないんだな

オライリーの「sed & awkプログラミング 改訂版」には触れない、他の出版会社の書籍には触れないなど二人とも違和感がある
84デフォルトの名無しさん
2024/06/18(火) 14:44:06.94ID:J2T1cvE/
>>66
Rは死んだんだっけ
85デフォルトの名無しさん
2024/06/18(火) 14:46:35.23ID:J2T1cvE/
>>73
確かに perl 使い始める前は awk 使ってたの思い出した
86デフォルトの名無しさん
2024/06/18(火) 14:56:45.90ID:J2T1cvE/
>>83
尼のレビューで awk の吉田観に行ったら
ヤバマン - サレ妻の秘密の離婚準備 ってのがおすすめされるんだがなんでなん
87デフォルトの名無しさん
2024/06/18(火) 16:54:28.15ID:Yg9xtfWz
検索エンジンでなくAIに聞く練習をしてみた


自分

"awk gentab.awk -h" とやればヘッダが生成され、"awk gentab.awk -s" とすればソースが生成されるようにするにはどうすればいいんでしたっけ。


Copilot

AWKで特定のオプションに応じて異なる出力を生成するには、コマンドライン引数を処理するロジックをスクリプトに組み込む必要があります。-h オプションでヘッダを、-s オプションでソースを生成するようにするためには、以下のようなAWKスクリプトを書くことができます。

https://ideone.com/0gT1PT

このスクリプトは、コマンドライン引数をチェックして、-h が指定された場合はヘッダファイルの内容を、-s が指定された場合はソースファイルの内容を出力します。exit ステートメントは、それぞれのセクションの出力後にスクリプトの実行を終了させるために使用されます。

スクリプトを gentab.awk として保存した後、以下のコマンドを実行することで、それぞれのファイルを生成できます。

awk -f gentab.awk -h # ヘッダファイル生成
awk -f gentab.awk -s # ソースファイル生成

AWKスクリプトの詳細な使い方やオプションについては、オンラインのマニュアルやドキュメントを参照すると良いでしょう。もし他にも質問があれば、お気軽にどうぞ。
88デフォルトの名無しさん
2024/06/18(火) 17:12:04.60ID:Yg9xtfWz
ええっと、これを貼らなきゃ見えないのかな

https://ideone.com/e.js/0gT1PT
89デフォルトの名無しさん
2024/06/18(火) 18:24:04.44ID:7l1MdKKx
90デフォルトの名無しさん
2024/06/18(火) 19:12:23.97ID:Yg9xtfWz
こういう、固定小数点の三角関数が欲しい時にawkに生成させる話さ


short sin_table[] = {
0, 6392, 12539, 18204, 23169, 27244, 30272, 32137,
32767, 32137, 30272, 27244, 23169, 18204, 12539, 6392,
0, -6392, -12539, -18204, -23169, -27244, -30272, -32137,
-32767, -32137, -30272, -27244, -23169, -18204, -12539, -6392,
};

short cos_table[] = {
32767, 32137, 30272, 27244, 23169, 18204, 12539, 6392,
0, -6392, -12539, -18204, -23169, -27244, -30272, -32137,
-32767, -32137, -30272, -27244, -23169, -18204, -12539, -6392,
0, 6392, 12539, 18204, 23169, 27244, 30272, 32137,
};
91デフォルトの名無しさん
2024/06/18(火) 19:17:40.22ID:7l1MdKKx
何を勘違いしているの
92デフォルトの名無しさん
2024/06/18(火) 19:19:23.73ID:7l1MdKKx
生成AIは的確な仕様を伝えてないといけない
93デフォルトの名無しさん
2024/06/18(火) 19:32:36.51ID:Yg9xtfWz
>>74で伝えてるじゃん
94デフォルトの名無しさん
2024/06/18(火) 19:40:43.38ID:7l1MdKKx
>>93
それが合っているのかどう確認したのですか?
生成AIは正解を教えるわけではありません。
95デフォルトの名無しさん
2024/06/18(火) 19:48:33.05ID:Yg9xtfWz
>>94

>>90を見ればちゃんとだいたい三角関数になってるじゃん
簡単のため256等分を32等分にしようって提案しただけ
96デフォルトの名無しさん
2024/06/18(火) 21:32:43.98ID:Yg5iVeQt
マジレスすると 0度~45度 の余弦だけあれば十分です
97デフォルトの名無しさん
2024/06/18(火) 21:38:40.47ID:Yg9xtfWz
>>96
それをループ展開するのさ
98デフォルトの名無しさん
2024/06/19(水) 09:13:33.08ID:Ml7xOhwE
>>75
ごめんその目的ならそれで良いけど
本来三角関数テーブルを造るのに[sin|cos|tan|asin|acos|atan|atan2]関数を使ったら負けだと思う
99デフォルトの名無しさん
2024/06/19(水) 10:07:13.56ID:0R72bU2b
作ったもの、生成させたものが想定どおりか確認する、テストするという概念がないのは、プログラマ以前の話だぜ?
100デフォルトの名無しさん
2024/06/19(水) 15:24:43.01ID:Lm+h2XXV
ユニットテストなあ
sinとcosだけだったらテストしてもいいかもしれない
でもtanはどうする?
tanはsinやcosみたいに有限の範囲に収まっていない
つまりそのままではテーブルを持ちにくい
実際にはtanは個別のプログラムで必要とされる計算式において、
「有限の範囲に収まる、tanを含む部分式」というのがたいていあるはずだから、それのテーブルを持つ
それは単体でテストしても意味のないものだ
101デフォルトの名無しさん
2024/06/19(水) 19:35:36.17ID:IaB5ZLIm
>>100
それは仕様として決めること

四則演算のみの電卓だってどういう順番で計算するかは決まっていない

数学の誤差が小さくなる計算が正しいわけではない
102デフォルトの名無しさん
2024/06/19(水) 23:53:27.29ID:Lm+h2XXV
https://ideone.com/peSwGS
103デフォルトの名無しさん
2024/06/21(金) 17:44:44.00ID:LwqdtCE6
>>102
なぜ自作の計算しているのかという部分があるそ?
104デフォルトの名無しさん
2024/06/21(金) 17:45:23.65ID:LwqdtCE6
awkでやる意味がないよ
105デフォルトの名無しさん
2024/06/21(金) 18:34:17.72ID:r40UsctT
古い人なんじゃない?
昔はこういうテーブルよく作ってたよ
深層学習で使われるシグモイド関数のテーブルとか
浮動小数点数のレジスタが遅かったり
貧弱な計算資源の計算機だとかなり有用
106デフォルトの名無しさん
2024/06/21(金) 18:38:13.51ID:wIxdZD1d
>>103
安いハードウェアでも速いから
107デフォルトの名無しさん
2024/06/21(金) 23:08:53.44ID:LwqdtCE6
OSの標示コマンドを自作してしまう人間はまだいるからなあ。
108デフォルトの名無しさん
2024/06/24(月) 00:16:12.40ID:sso3G8sO
アマゾンの
「プログラミング言語AWK 第2版」

コメントなしの5つ星レビューが追加された
転○目的の中古が値崩れし始めている

めがベンチャーくんの宣伝じゃ売れないよ!
109デフォルトの名無しさん
2024/06/24(月) 08:32:33.18ID:snwWNZSk
>>108
これか。
https://www.%61mazon.co.jp/product-reviews/4814400705/
評価した人数が僅か2人なので、宣伝だとしても効果は薄そう。
110デフォルトの名無しさん
2024/06/24(月) 14:01:48.24ID:OzsKCRyN
https://x.com/hirayamaxkakeru/status/1801232615200198879
https://x.com/hirayamaxkakeru?t=6IXjFVaAG6iUPmY3jYVlIA&s=09

こういう人もいるんだな。都知事選の政見放送みたい
111デフォルトの名無しさん
2024/06/24(月) 15:08:37.60ID:kN0svtrZ
awkでやる意味がないよ
112デフォルトの名無しさん
2024/06/24(月) 15:22:42.93ID:qmamFw0P
AWKを使ったことないは理解できるが名前すら知らないって最近の人はこんなのばっかなの?
怖いんだけど
使ったことないはまだ理解できるけど
名前すら知らないって
113デフォルトの名無しさん
2024/06/24(月) 17:22:13.19ID:FfGi9EOd
>>110
>>65 と同じ話を何で何度もすんねん。
114デフォルトの名無しさん
2024/06/24(月) 18:41:22.73ID:OzsKCRyN
ごめんチャイ、気が付かなんだ
115デフォルトの名無しさん
2024/06/25(火) 13:37:20.72ID:ZtCD4zFU
おじいちゃんお薬の時間です
116デフォルトの名無しさん
2024/06/25(火) 14:42:15.39ID:Z9mp1IOT
薬はまだかね?
代金は受け取っただろ。
117デフォルトの名無しさん
2024/06/26(水) 00:52:44.98ID:yv8Z2CuH
都知事選もとりあえずポスターに「AI」と書いておけばいいみたいな雑な扱い
118デフォルトの名無しさん
2024/06/26(水) 12:32:40.93ID:j6fp+f8B
これほど乱れた都知事選になるとは
119デフォルトの名無しさん
2024/06/26(水) 14:58:55.42ID:hXpRZohR
民主政治の末期症状見てるみたいな気分になる
制度改革が必要だな
120デフォルトの名無しさん
2024/06/26(水) 21:32:42.48ID:yv8Z2CuH
都知事選でAIがどうこう言っている立候補者はすべてレベルが低い。
121デフォルトの名無しさん
2024/06/27(木) 10:11:18.36ID:OTNDZ+yC
スレチ
122デフォルトの名無しさん
2024/08/22(木) 05:50:05.33ID:0OofYQEx
AWKは単独で使うものじゃないけど、プログラミング言語と言い出す人間は、ほとんど素人だ。
123デフォルトの名無しさん
2024/08/22(木) 11:19:47.79ID:IKT838Oo
HTML5よりはプログラミング言語ωだな
124デフォルトの名無しさん
2024/08/22(木) 11:23:05.76ID:0OofYQEx
HTML5は終わりましたけど?
125デフォルトの名無しさん
2024/08/22(木) 14:07:14.76ID:BM6SBb1s
>>122
> プログラミング言語と言い出す人間は、ほとんど素人だ。

The AWK Programming Language の著者の Aho、Kernighan、Weinberger のことか。
126デフォルトの名無しさん
2024/08/22(木) 17:16:28.07ID:0OofYQEx
>>125
そう。それを読んでプログラミング言語と説明するニワカが昔からいる
127デフォルトの名無しさん
2024/08/22(木) 18:36:32.87ID:faui27PU
>>126
読んだニワカでなく、Programming Language と書いた人はどうなの? って。
ニカワのように貼りついてすまんが。
128デフォルトの名無しさん
2024/08/22(木) 20:11:53.65ID:0OofYQEx
>>127
AWKはプログラミング言語として使われることはほとんどない。

しかも作った彼らは、プログラミング言語というよりはsedのような使い方をするものとして用意している。

つまり、実際にはシェルスクリプト内の一部だったり、プログラミング言語というのはプログラミング言語の内のプログラミング言語であるから、そこまでわからずに「プログラミング言語」と言ってしまうと知識がないのとがばれる。
129デフォルトの名無しさん
2024/08/22(木) 20:13:29.79ID:0OofYQEx
>>127
その3人はAWKを作ったひと本人

別の人間がAWKを説明しているわけではない
130デフォルトの名無しさん
2024/08/23(金) 06:04:36.15ID:yV+TW/F+
なにか嫌なことでもあったのか?
131デフォルトの名無しさん
2024/08/23(金) 14:32:57.60ID:TJ+3Kp9a
awkはfilter用に特化したプログラミング言語
はい
おしまい
132デフォルトの名無しさん
2024/08/26(月) 00:32:32.66ID:mcDGuhqL
アスペはモノの呼び名に無意味にこだわるよな
力の入れどころがピントズレてるから何事も成し遂げられない無能😨
133デフォルトの名無しさん
2024/08/26(月) 01:02:38.84ID:cg8iPsZ2
AWKは高機能コマンドという位置づけ
これをプログラミング言語と説明し始める技術者が昔からいる

他人が言ったことの受け売りだからAWKの使われ方を説明できない
134デフォルトの名無しさん
2024/08/26(月) 10:39:29.32ID:3+7ACU+U
HTML5はプログラミング言語プルプル
135デフォルトの名無しさん
2024/08/26(月) 11:00:10.36ID:ln9LIwsB
>>133
この辺りが受け売り?

> プログラミング言語と言い出す人間は、ほとんど素人
136デフォルトの名無しさん
2024/08/26(月) 17:26:29.31ID:VJ190nsi
AWKの書籍やAWKの紹介の初めにプログラミング言語と書かれているので、そこだけを読み取って他人にAWKをプログラミング言語と説明するのが恥ずかしいということ。

awkコマンドの引数に手続き処理の文字列を指定できるだけで、AWKは単独で何かの処理を完結させるものではない。

毎回、長いAWKのコマンドを打ち込む人間だったら当てはまらないが、今度は再利用という概念がないことになるのでやはりおかしい。

テストでも毎回、キーボードから打つ初心者はいる。コピーという概念もなければ、ファイルにしてファイルを読み込むという発想すらない。

そこでシェルスクリプトを使うべきと説明しても、キーボードの手打ちにこだわってキーボードのキーを強打するやつはキーボードを叩くのが好きなので、キーを打つ回数が多くないと不機嫌になる。
137デフォルトの名無しさん
2024/08/26(月) 18:36:31.89ID:FhzwHLyM
CGIはプログラミング言語(キリっ
138デフォルトの名無しさん
2024/08/26(月) 18:39:41.56ID:FhzwHLyM
>awkコマンドの引数に手続き処理の文字列を指定できる

引数の - (stdinを意味する) とか
teeとかしらんのか
139デフォルトの名無しさん
2024/08/26(月) 19:36:00.43ID:1zt/vBon
まあこういう考えもあるのかと思っておけばいいのでは
理解とか説得とかじゃなくて、読んでる人が誤解しそうだからのコメントだったら
読む人のためになると思うが
140デフォルトの名無しさん
2024/08/26(月) 20:15:21.46ID:VJ190nsi
>>138
それはawkの話ではない。
141デフォルトの名無しさん
2024/08/26(月) 20:17:18.06ID:VJ190nsi
わざわざロジックをawkに担当させるのは趣味が悪すぎる
142デフォルトの名無しさん
2024/08/26(月) 21:08:03.62ID:ln9LIwsB
$ date '+%s'
1724673881
てコマンドオプションが思い出せなくて、

$ gawk 'BEGIN{ print systime() }';
1724673881
で代用することあるある。
143デフォルトの名無しさん
2024/08/26(月) 22:58:23.62ID:R6Owoni0
>>140
引数の-を解釈するのはawkだけどな
144デフォルトの名無しさん
2024/08/27(火) 00:41:01.50ID:jPnUMQmz
UNIXはハイフンを特殊文字として扱う仕様になっている。
145デフォルトの名無しさん
2024/08/27(火) 14:15:08.68ID:oHcafaf7
ぶっちゃけperlとかpython覚えたらawk要らんけどね
146デフォルトの名無しさん
2024/08/27(火) 15:17:22.25ID:apM/pcD7
ぶっちゃけ awk覚えたら sed要らんけどねてのは一面真実なのだけど、sedは記述が短くて手放せないてのも、事実だったりする。
147デフォルトの名無しさん
2024/08/27(火) 16:41:08.74ID:236o/Knq
>>145
コンピューターの性能が上がったせいで、awkの出番がなくなった。
148デフォルトの名無しさん
2024/08/29(木) 09:38:52.02ID:1jszJs3n
awkは紛うこと無きプログラミング言語(キリっ
149デフォルトの名無しさん
2024/08/29(木) 11:08:24.17ID:Ju1sdRVj
awkでもpythonでもrubyでもsedでもソースを見ればどの言語かわかる
ごっちゃまぜでも問題なく実行する何でもOK言語は作れないのだろうか
150デフォルトの名無しさん
2024/08/29(木) 12:14:04.63ID:1jszJs3n
token分割した単位でも区別出来れば楽だろうけど
ある程度の文脈で観ないと判らんのでは
151デフォルトの名無しさん
2024/08/29(木) 13:15:32.38ID:CUm3HRgm
ごちゃまぜとはいかんが、Perl で Inline でも使ってみる?
https://perldoc.jp/docs/modules/Inline-0.43/Inline.pod
awk も ruby も python もサポートされてるぞ。
152デフォルトの名無しさん
2024/08/29(木) 23:44:22.19ID:N4XBWKhx
要は知ったかぶりがしてしまう説明はやめろということ。
153デフォルトの名無しさん
2024/08/30(金) 07:45:14.66ID:FeMupkVu
知ったか。これか。

> AWKは単独で使うものじゃないけど、プログラミング言語と言い出す人間は、ほとんど素人だ。
154デフォルトの名無しさん
2024/08/30(金) 09:29:41.59ID:742oYIEC
awklandωωω
155デフォルトの名無しさん
2024/08/30(金) 11:21:27.27ID:qi4n2TPj
まあ、そうだな。知ったかぶりはかっこ悪いな。
……これでいいか?
煽ってるわけじゃなくてな、これ以外に何を言えばいいのか…
156デフォルトの名無しさん
2024/08/30(金) 12:40:15.18ID:bLuOfswJ
awkland紛争勃発
157デフォルトの名無しさん
2024/09/07(土) 11:40:55.97ID:LaGZ4PBX
フーン
158デフォルトの名無しさん
2024/09/13(金) 16:25:22.25ID:bblj+c3p
He does not talk that much about.
159デフォルトの名無しさん
2024/09/15(日) 09:55:25.02ID:xw1jp1Zr
もしかしてforkland紛争
160デフォルトの名無しさん
2024/11/03(日) 03:38:13.75ID:ijDiZ2E7
>>145
perlはまだしもpythonは代わりにならんでしょ
最も正当な後継はpwsh(PowerShell)だろう
perl同様BEGIN/END、$OFSとかもある明確なawkフォロワー
perlはサブルーチンは全部subrキーワードで定義するが、pwshはfunctionで定義するシェル関数(function)と別にfilterキーワードで定義するパイプライン志向のフィルタ関数もあってawkよりawk的に書けるまである
161デフォルトの名無しさん
2024/11/09(土) 16:29:19.19ID:7k73fm7R
標準出力に対していきなり$1とか書けるのは
何でもできるインタプリターとはまた違う利便性だな

lud20241206163432
このスレへの固定リンク: http://5chb.net/r/tech/1600054668/
ヒント:5chスレのurlに http://xxxx.5chb.net/xxxx のようにbを入れるだけでここでスレ保存、閲覧できます。

TOPへ TOPへ  

このエントリをはてなブックマークに追加現在登録者数177 ブックマークへ


全掲示板一覧 この掲示板へ 人気スレ | Youtube 動画 >50 >100 >200 >300 >500 >1000枚 新着画像

 ↓「awkについて語るスレ $3 」を見た人も見ています:
LOTOO PAWGOLDについて語るスレ
RKについて語るスレ 6
TvRockについて語るスレ 96
TvRockについて語るスレ 107
TvRockについて語るスレ 98
TvRockについて語るスレ 103
TvRockについて語るスレ 97
TvRockについて語るスレ 106
TvRockについて語るスレ 101
TvRockについて語るスレ 102
TvRockについて語るスレ 104
TvRockについて語るスレ 100
RecTaskについて語るスレ Part.3
RKについて語るスレ [無断転載禁止]
RKについて語るスレ 4 [無断転載禁止]
RKについて語るスレ 2 [無断転載禁止]
中堅国立大学群5SMGKについて語るスレ
小説投稿サイトにおける投げ銭について語るスレ
Windows 10 機械学習について語るスレ Pt.1
家に押し掛けてくるNHKについて語るスレ [無断転載禁止]
ホロピラ遊びとかいう原住民の風習について語るスレ
ホロピラ遊びとかいう原住民の風習について語るスレ
【貧乳】女性自衛官の尻について語るスレPart13 【巨尻】[無断転載禁止] [無断転載禁止]
∧について語るスレ
mについて語るスレ
補強について語るスレ
金玉について語るスレ
中飛車について語るスレ
ACCについて語るスレ
太陽について語るスレ
反則について語るスレ
音源について語るスレ
斎藤家について語るスレ
PIAについて語るスレ
田中について語るスレ
社会部について語るスレ
句読点について語るスレ
八雲橙について語るスレ
AORについて語るスレ 18
啓新について語るスレ
基板部について語るスレ 4
AORについて語るスレ 17
水やりについて語るスレ
背番号について語るスレ
自作SNSについて語るスレ
お笑いについて語るスレ
なみきについて語るスレ
漫画村について語るスレ
福井県について語るスレ
豆腐について語るスレ
互助会について語るスレ
MENSAについて語るスレ
前花清について語るスレ
辻政信について語るスレ
まんだらけについて語るスレ
韓国車について語るスレ
うつ病について語るスレ
橋下徹について語るスレ
視聴率について語るスレ
イモリについて語るスレ
本居宣長について語るスレ
あにこ便について語るスレ
履歴書詐称について語るスレ
脳内彼氏について語るスレ
Tvmaidについて語るスレ
Vue.jsについて語るスレ
06:32:04 up 84 days, 7:30, 0 users, load average: 12.43, 11.01, 13.55

in 0.017975091934204 sec @0.017975091934204@0b7 on 071019