awkについて語るスレ $3at TECH
awkについて語るスレ $3 - 暇つぶし2ch2:デフォルトの名無しさん
20/09/14 13:50:10.07 H3Bos02D.net
O2

3:デフォルトの名無しさん
20/09/23 14:22:14.30 0WMzoqh5.net
本を読んでたら%45.45sという書式が出てきてこれ間違いだろって思ったら
文字列の場合は小数部ではなく最大幅になるなんて知らなかった
$ awk 'BEGIN { printf("%.5s\n", "abc----------") }'
abc--
でも使いどころ難しそう

4:デフォルトの名無しさん
20/09/23 14:46:12.52 YfY3TQQ4.net
$ awk 'BEGIN { printf("%5.5s\n", "abc-") }'
$ awk 'BEGIN { printf("%.5s\n", "abc-") }'
$ awk 'BEGIN { printf("%5s\n", "abc-") }'

5:デフォルトの名無しさん
20/09/23 14:47:16.95 YfY3TQQ4.net
$ awk 'BEGIN { printf("%-5.5s\n", "abc-") }'
$ awk 'BEGIN { printf("%-.5s\n", "abc-") }'
$ awk 'BEGIN { printf("%-5s\n", "abc-") }'

6:デフォルトの名無しさん
20/09/25 21:33:57.37 vR6GHAXY.net
awk は語らず

7:デフォルトの名無しさん
20/10/01 21:33:10.71 Hlt30BS/.net
ド素人、予備知識なしがゼロから学ぶのに参考書おすすめ教えてください。
会社でawk使うことになりました。

8:デフォルトの名無しさん
20/10/02 01:11:30.66 iPnIlJ3t.net
プログラミング言語AWKで勉強したけど
gawkの拡張機能はgoogle先生に聞いてる

9:デフォルトの名無しさん
20/10/02 10:32:39.56 Y4P66lDx.net
>>7
オンラインマニュアルではなんでいけないの?

10:デフォルトの名無しさん
20/10/02 12:51:45.18 vJ669CE7.net
参考書の種類もあまりawkないっしょ

11:デフォルトの名無しさん
20/10/02 13:52:29.74 WC+nGixi.net
以前は awk 勉強したけど
perl とか python とかで済ませてるから
もうメンテ以外では使わないな

12:デフォルトの名無しさん
20/10/04 13:10:48.21 4IGvE5yV.net
簡単な処理ではワンライナーでたまに使う。

13:デフォルトの名無しさん
20/10/07 16:59:03.05 G+m/WVyH.net
作者の本が一番面白い
わかりやすいかは知らないげど

14:デフォルトの名無しさん
20/10/22 21:54:08.99 JmTLo/S3.net
フィールド操作をしてもなお行頭の空白を保持して " no-indent" と表示する、何か簡単な方法が無かったけ。
$ echo ' indent' | gawk '{$1 = "no-indent"; print}'
no-indent
$

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

16:デフォルトの名無しさん
20/11/02 16:45:57.94 wg7UJfCNE
なんでこのスレに来たんだろうw

17:デフォルトの名無しさん
21/02/18 05:43:07.88 JtFS2IhM.net
簡単なパーサ書くには一番簡潔だと思う

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

19:デフォルトの名無しさん
21/06/16 18:41:30.32 cH/LeX7M+
GUIは無理?

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

21:デフォルトの名無しさん
21/07/18 03:10:26.05 a6CF+eHw.net
perlはなぁ
$がウザいんだよ$が

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

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

24:デフォルトの名無しさん
21/07/19 21:05:06.25 eMv5hFOn.net
>>21
$1

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

26:デフォルトの名無しさん
21/07/29 11:52:38.70 TiMroEot.net
Bitwise Functions (The GNU Awk User’s Guide)
URLリンク(www.gnu.org)

27:デフォルトの名無しさん
21/07/29 12:29:34.27 f23qcyWP.net
>>25
Perlもよろしく

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

29:デフォルトの名無しさん
21/08/16 20:05:36.86 UULqvt28.net
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

30:デフォルトの名無しさん
21/08/18 18:20:40.65 vS4c4jwy.net
>>29
URLリンク(hotnews8.net)
肝心なのは非カノニカルモードにすることだな。

31:デフォルトの名無しさん
21/08/18 18:48:35.35 3+Zj3nGD.net
Ubuntu?

32:デフォルトの名無しさん
21/08/18 19:21:30.39 vS4c4jwy.net
Ubuntu でなくても CentOS とかでも使える筈。余程ひねくれた Linux ディストリビューションでない限り大丈夫じゃないかな。
man termios でマニュアルページが出てくるようなら多分使える。

33:デフォルトの名無しさん
21/08/29 16:10:31.61 9D+MRuLg.net
以前 awkで数値計算処理するプログラムを書いてたんだけど、高速化のために
gawk から nawk で処理することにしたんだ。小さい処理を書いて、nawk で実行
するとスゲー早くなるんだけど、自分の書いた処理を実行するとわけわからん
エラーを吐く。あちこちコメントアウトして原因を調べると、どうやら、
ループ回数の多い for ループのネストがNGらしいと分かった。nawkの制約を
ググって見たが制約がわからず、仮に自分で試して制約が分かったとしても
ループ処理の書き換えの手間とかを考えると割にあわないので、断念して gawk
のまま使った。かれこれ2年以上たつが、今でも悔しい。

34:デフォルトの名無しさん
21/08/29 17:24:08.41 tafixoPz.net
stack使いすぎなだけじゃね

35:デフォルトの名無しさん
21/08/30 00:45:59.57 Y1YJvMvh.net
>>33
mawkの方が速いんじゃね?mawkの特徴は速いところだし。
nawkは古いやつだよ。バグがあるんじゃないかな。

36:デフォルトの名無しさん
21/10/26 10:40:35.62 xOnuf5b9.net
vscodeでAWKを実行する方法
code Runnerを入れて、JSONを追加編集
{
"code-runner.executorMapByFileExtension": {
".awk" : "gawk -f $fullFileName",
},
}
(入力ファイルを使用する実行はできないが、
BEGIN内で完結するスクリプトならOK)

37:デフォルトの名無しさん
21/10/30 23:19:24.33 TK9A35ME.net
gawk 5.1.1 キタ

38:デフォルトの名無しさん
22/04/09 07:36:41.89 OA+lRtl7.net
キタ━━(゚∀゚)━━!!

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

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

41:デフォルトの名無しさん
23/07/06 08:40:17.31 MmKgYZIp.net
いまだにgawk 3.1.5 mbcs対応版Windows用バイナリ使ってるわ

42:デフォルトの名無しさん
23/07/07 22:53:33.02 oLdBfcPF.net
↓だから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

43:デフォルトの名無しさん
23/07/08 01:56:54.81 ZE4F8/ug.net
>>40
翻訳する会社があるかどうか
今も日本語訳のプログラミング言語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度目の復刊がなされた。

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

45:デフォルトの名無しさん
23/07/08 05:04:22.58 Z95/l0J7.net
awk は、CSV すら無理でしょ
テキスト処理やファイル操作などは、Ruby で良い

46:デフォルトの名無しさん
23/07/08 05:44:08.88 vFYcQbUX.net
大∞!!!!
病∞!!!!!
状∞!!!!!!
癌∞!!!!!!!
移∞!!!!!!!!
薬∞!!!!!!!!!
療∞!!!!!!!!!!
科∞!!!!!!!!!!!
篤∞!!!!!!!!!!!!
帯∞!!!!!!!!!!!!!
付∞!!!!!!!!!!!!!!
殿∞!!!!!!!!!!!!!!!
滴∞!!!!!!!!!!!!!!!!
明∞!!!!!!!!!!!!!!!!!
傷∞!!!!!!!!!!!!!!!!!!
用∞!!!!!!!!!!!!!!!!!!!
錠∞!!!!!!!!!!!!!!!!!!!!
害∞!!!!!!!!!!!!!!!!!!!!!
痛∞!!!!!!!!!!!!!!!!!!!!!!
院∞!!!!!!!!!!!!!!!!!!!!!!!
師∞!!!!!!!!!!!!!!!!!!!!!!!!
期∞!!!!!!!!!!!!!!!!!!!!!!!!!
リ∞!!!!!!!!!!!!!!!!!!!!!!!!!!
症∞!!!!!!!!!!!!!!!!!!!!!!!!!!!
助∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!
援∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
雇∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
款∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
告∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
僚∞!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

47:デフォルトの名無しさん
23/07/08 06:12:40.74 V8Gq2Zo8.net
>>45
> 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).

48:デフォルトの名無しさん
23/07/08 08:27:09.25 ZE4F8/ug.net
>>44
goawkを使え。CSVとTSVに完璧に対応してるぞ。

A POSIX-compliant AWK interpreter written in Go, with CSV support
URLリンク(github.com)

$ goawk -i csv '{ print $1 }' quoted.csv

49:デフォルトの名無しさん
23/07/08 08:27:34.78 ZE4F8/ug.net
自分にレスしてしまった

>>45
goawkを使え。CSVとTSVに完璧に対応してるぞ。

A POSIX-compliant AWK interpreter written in Go, with CSV support
URLリンク(github.com)

$ goawk -i csv '{ print $1 }' quoted.csv

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

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

52:デフォルトの名無しさん
23/11/11 12:13:12.03 sKF2Igrm.net
URLリンク(qiita.com)
これ書いてる人はちとアクが強い感じだがその方面で有名ってわけでもない?

53:デフォルトの名無しさん
23/11/11 17:36:33.36 buhnKvIP.net
>>52
うわーい!

$ 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 の新版毎に新機能を解説していたサイト、復活せんかのぅ。

54:デフォルトの名無しさん
23/11/11 17:42:32.23 buhnKvIP.net
>>52
なにこの Qiita とかいう blog 、RSS も Atom も無いの? どうやって新着記事を受け取るの。

55:デフォルトの名無しさん
23/11/19 14:28:12.58 zNNtJypz.net
さあ?考えたこともなかったが、毎日見に行けば良いんじゃね?

56:デフォルトの名無しさん
23/11/21 19:39:00.08 0c+F/mqc.net
URLリンク(qiita.com)
フィードはこれらしい

57:52
23/11/21 20:16:58.00 aUIDxCId.net
>>56
ありまとう。
xxxxx/rss や atom は試したが、feed は気付かなかった。

58:デフォルトの名無しさん
23/12/02 22:15:08.69 Cde5SKTZ.net
>>54
そらcURL+awkの毎時バッチ処理でモニュンモニュンよ!

59:デフォルトの名無しさん
24/01/16 16:57:00.76 XRwGXHBF.net
むかしxhr+awkで掲示板の監視したなぁ
クーポン欲しかったんで

60:デフォルトの名無しさん
24/02/17 08:30:13.88 MS9Vs8fI.net
>>53 の関連だが、
"--csv" オプションを BEGIN内で定義するの、どうやるの?
BEGIN { FS = "separater" } みたいな。
info しか見てないけど、書いてないよね。

61:デフォルトの名無しさん
24/03/23 22:16:10.55 RQzBui+B.net
プログラミング言語AWK 第2版
2024/5/16
うーん、いくらなんでも1800円じゃないと思ったが倍だったか
わしの他に買う人おるんか

62:デフォルトの名無しさん
24/03/24 09:00:36.46 lIFxF9tR.net
3,650円 URLリンク(www.%61mazon.co.jp)
GAwkとかならともかく、本家AWK (BSD?)ってそんなに変わっているもんなんだろうか。

63:デフォルトの名無しさん
24/03/25 11:58:39.58 /IN+BYqX.net
>>61
大学が教材で買うのでないの
大学は貧乏なのに

64:デフォルトの名無しさん
24/03/25 12:13:53.70 kSxmy8hs.net
>>62
URLリンク(github.com)
ここみてみれば?

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

66:デフォルトの名無しさん
24/04/02 15:17:48.57 fK4JGkbk.net
フーン

67:デフォルトの名無しさん
24/06/18 04:10:23.75 Li8KIoEM.net
AWKを知らない若者で炎上しておる

68:デフォルトの名無しさん
24/06/18 07:24:55.09 L45mqPk3.net
A ... 82歳
W ... 81歳
K ... 82歳

69:デフォルトの名無しさん
24/06/18 07:59:20.89 7l1MdKKx.net
awkで日本語を扱うとかチャレンジャーだな
書籍の出版が最近のものほど良いという謎の判断をする初心者が増えたよな。

70:デフォルトの名無しさん
24/06/18 08:01:35.49 7l1MdKKx.net
シェルスクリプト内で使われている意味すら知らないなんて順番がおかしい。

71:デフォルトの名無しさん
24/06/18 08:22:22.42 rmcc/tYz.net
ガウォーク

72:デフォルトの名無しさん
24/06/18 09:03:03.70 7l1MdKKx.net
最近までいた職場もキータの記事を引用していたな
怖い

73:デフォルトの名無しさん
24/06/18 09:07:04.68 7l1MdKKx.net
gawkの宣伝が混ざっているスレか

74:デフォルトの名無しさん
24/06/18 10:26:57.44 K2nHM9ZT.net
>>67
何のお話しでつか

75:デフォルトの名無しさん
24/06/18 11:47:17.44 Li8KIoEM.net
>>74
twitterでawkを検索

76:デフォルトの名無しさん
24/06/18 13:24:24.39 Yg9xtfWz.net
awkでC言語のソースを自動生成したことあるぞ
30ウン年前
三角関数のテーブル
360度を256等分して、2バイト符号付き整数でsinとcosが32768分のいくつかっていうのを並べたテーブル

77:デフォルトの名無しさん
24/06/18 13:55:32.44 Yg9xtfWz.net
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はそのシンプルさとポータビリティで依然として有用です。もし何かお手伝いできることがあれば、お知らせください。

78:デフォルトの名無しさん
24/06/18 14:14:13.16 K2nHM9ZT.net
>>75
この人でつか。
URLリンク(x.com)
本が改訂されたとはいえ平積みされたことに驚いた。

79:デフォルトの名無しさん
24/06/18 14:14:49.73 7l1MdKKx.net
キャラクタセットの情報が与えられてないぞ?

80:デフォルトの名無しさん
24/06/18 14:17:07.68 7l1MdKKx.net
>>78
なんかなぜ書籍のタイトルで探しているのかわからないポンコツだよな
宣伝なのかもしれないけど

81:デフォルトの名無しさん
24/06/18 14:18:38.82 7l1MdKKx.net
いまどき学歴を書く古いスタイルもわからない

82:デフォルトの名無しさん
24/06/18 14:21:06.45 7l1MdKKx.net
>>78
別の投稿を見ると自慢だらけでゲロが出そう

83:デフォルトの名無しさん
24/06/18 14:22:11.28 Li8KIoEM.net
>>78
そう
この経歴で全く知らないってことはあるんかって思った次第

84:デフォルトの名無しさん
24/06/18 14:23:47.05 Li8KIoEM.net
真面目に勉強してきて本当に知らないのであれば
我々が想像以上に今の若手エンジニアの技術は偏ってるんだろうな
もはやLinuxすら触ることをしていない可能性

85:デフォルトの名無しさん
24/06/18 14:38:57.57 7l1MdKKx.net
bashのスクリプトからawk、sedならわかるんだが、awk単独でどうとか
アマゾンのレビューで吉田というやつのみが5つ星で、この吉田のプロフィールがヒラヤマというXに繋がっている可能性がある
あまりに読んでなさすぎだと思ったら、読んでないんだな
オライリーの「sed & awkプログラミング 改訂版」には触れない、他の出版会社の書籍には触れないなど二人とも違和感がある

86:デフォルトの名無しさん
24/06/18 14:44:06.94 J2T1cvE/.net
>>68
Rは死んだんだっけ

87:デフォルトの名無しさん
24/06/18 14:46:35.23 J2T1cvE/.net
>>75
確かに perl 使い始める前は awk 使ってたの思い出した

88:デフォルトの名無しさん
24/06/18 14:56:45.90 J2T1cvE/.net
>>85
尼のレビューで awk の吉田観に行ったら
ヤバマン - サレ妻の秘密の離婚準備 ってのがおすすめされるんだがなんでなん

89:デフォルトの名無しさん
24/06/18 16:54:28.15 Yg9xtfWz.net
検索エンジンでなくAIに聞く練習をしてみた


自分

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


Copilot

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

URLリンク(ideone.com)

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

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

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

AWKスクリプトの詳細な使い方やオプションについては、オンラインのマニュアルやドキュメントを参照すると良いでしょう。もし他にも質問があれば、お気軽にどうぞ。

90:デフォルトの名無しさん
24/06/18 17:12:04.60 Yg9xtfWz.net
ええっと、これを貼らなきゃ見えないのかな

URLリンク(ideone.com)

91:デフォルトの名無しさん
24/06/18 18:24:04.44 7l1MdKKx.net


92:デフォルトの名無しさん
24/06/18 19:12:23.97 Yg9xtfWz.net
こういう、固定小数点の三角関数が欲しい時に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,
};

93:デフォルトの名無しさん
24/06/18 19:17:40.22 7l1MdKKx.net
何を勘違いしているの

94:デフォルトの名無しさん
24/06/18 19:19:23.73 7l1MdKKx.net
生成AIは的確な仕様を伝えてないといけない

95:デフォルトの名無しさん
24/06/18 19:32:36.51 Yg9xtfWz.net
>>76で伝えてるじゃん

96:デフォルトの名無しさん
24/06/18 19:40:43.38 7l1MdKKx.net
>>95
それが合っているのかどう確認したのですか?
生成AIは正解を教えるわけではありません。

97:デフォルトの名無しさん
24/06/18 19:48:33.05 Yg9xtfWz.net
>>96
>>92を見ればちゃんとだいたい三角関数になってるじゃん
簡単のため256等分を32等分にしようって提案しただけ

98:デフォルトの名無しさん
24/06/18 21:32:43.98 Yg5iVeQt.net
マジレスすると 0度~45度 の余弦だけあれば十分です

99:デフォルトの名無しさん
24/06/18 21:38:40.47 Yg9xtfWz.net
>>98
それをループ展開するのさ

100:デフォルトの名無しさん
24/06/19 09:13:33.08 Ml7xOhwE.net
>>77
ごめんその目的ならそれで良いけど
本来三角関数テーブルを造るのに[sin|cos|tan|asin|acos|atan|atan2]関数を使ったら負けだと思う

101:デフォルトの名無しさん
24/06/19 10:07:13.56 0R72bU2b.net
作ったもの、生成させたものが想定どおりか確認する、テストするという概念がないのは、プログラマ以前の話だぜ?

102:デフォルトの名無しさん
24/06/19 15:24:43.01 Lm+h2XXV.net
ユニットテストなあ
sinとcosだけだったらテストしてもいいかもしれない
でもtanはどうする?
tanはsinやcosみたいに有限の範囲に収まっていない
つまりそのままではテーブルを持ちにくい
実際にはtanは個別のプログラムで必要とされる計算式において、
「有限の範囲に収まる、tanを含む部分式」というのがたいていあるはずだから、それのテーブルを持つ
それは単体でテストしても意味のないものだ

103:デフォルトの名無しさん
24/06/19 19:35:36.17 IaB5ZLIm.net
>>102
それは仕様として決めること
四則演算のみの電卓だってどういう順番で計算するかは決まっていない
数学の誤差が小さくなる計算が正しいわけではない

104:デフォルトの名無しさん
24/06/19 23:53:27.29 Lm+h2XXV.net
URLリンク(ideone.com)

105:デフォルトの名無しさん
24/06/21 17:44:44.00 LwqdtCE6.net
>>104
なぜ自作の計算しているのかという部分があるそ?

106:デフォルトの名無しさん
24/06/21 17:45:23.65 LwqdtCE6.net
awkでやる意味がないよ

107:デフォルトの名無しさん
24/06/21 18:34:17.72 r40UsctT.net
古い人なんじゃない?
昔はこういうテーブルよく作ってたよ
深層学習で使われるシグモイド関数のテーブルとか
浮動小数点数のレジスタが遅かったり
貧弱な計算資源の計算機だとかなり有用

108:デフォルトの名無しさん
24/06/21 18:38:13.51 wIxdZD1d.net
>>105
安いハードウェアでも速いから

109:デフォルトの名無しさん
24/06/21 23:08:53.44 LwqdtCE6.net
OSの標示コマンドを自作してしまう人間はまだいるからなあ。

110:デフォルトの名無しさん
24/06/24 00:16:12.40 sso3G8sO.net
アマゾンの
「プログラミング言語AWK 第2版」
コメントなしの5つ星レビューが追加された
転○目的の中古が値崩れし始めている
めがベンチャーくんの宣伝じゃ売れないよ!

111:デフォルトの名無しさん
24/06/24 08:32:33.18 snwWNZSk.net
>>110
これか。
URLリンク(www.%61mazon.co.jp)
評価した人数が僅か2人なので、宣伝だとしても効果は薄そう。

112:デフォルトの名無しさん
24/06/24 14:01:48.24 OzsKCRyN.net
URLリンク(x.com)
URLリンク(x.com)
こういう人もいるんだな。都知事選の政見放送みたい

113:デフォルトの名無しさん
24/06/24 15:08:37.60 kN0svtrZ.net
awkでやる意味がないよ

114:デフォルトの名無しさん
24/06/24 15:22:42.93 qmamFw0P.net
AWKを使ったことないは理解できるが名前すら知らないって最近の人はこんなのばっかなの?
怖いんだけど
使ったことないはまだ理解できるけど
名前すら知らないって

115:デフォルトの名無しさん
24/06/24 17:22:13.19 FfGi9EOd.net
>>112
>>67 と同じ話を何で何度もすんねん。

116:デフォルトの名無しさん
24/06/24 18:41:22.73 OzsKCRyN.net
ごめんチャイ、気が付かなんだ

117:デフォルトの名無しさん
24/06/25 13:37:20.72 ZtCD4zFU.net
おじいちゃんお薬の時間です

118:デフォルトの名無しさん
24/06/25 14:42:15.39 Z9mp1IOT.net
薬はまだかね?
代金は受け取っただろ。

119:デフォルトの名無しさん
24/06/26 00:52:44.98 yv8Z2CuH.net
都知事選もとりあえずポスターに「AI」と書いておけばいいみたいな雑な扱い

120:デフォルトの名無しさん
24/06/26 12:32:40.93 j6fp+f8B.net
これほど乱れた都知事選になるとは

121:デフォルトの名無しさん
24/06/26 14:58:55.42 hXpRZohR.net
民主政治の末期症状見てるみたいな気分になる
制度改革が必要だな

122:デフォルトの名無しさん
24/06/26 21:32:42.48 yv8Z2CuH.net
都知事選でAIがどうこう言っている立候補者はすべてレベルが低い。

123:デフォルトの名無しさん
24/06/27 10:11:18.36 OTNDZ+yC.net
スレチ

124:デフォルトの名無しさん
24/08/22 05:50:05.33 0OofYQEx.net
AWKは単独で使うものじゃないけど、プログラミング言語と言い出す人間は、ほとんど素人だ。

125:デフォルトの名無しさん
24/08/22 11:19:47.79 IKT838Oo.net
HTML5よりはプログラミング言語ωだな

126:デフォルトの名無しさん
24/08/22 11:23:05.76 0OofYQEx.net
HTML5は終わりましたけど?

127:デフォルトの名無しさん
24/08/22 14:07:14.76 BM6SBb1s.net
>>124
> プログラミング言語と言い出す人間は、ほとんど素人だ。
The AWK Programming Language の著者の Aho、Kernighan、Weinberger のことか。

128:デフォルトの名無しさん
24/08/22 17:16:28.07 0OofYQEx.net
>>127
そう。それを読んでプログラミング言語と説明するニワカが昔からいる

129:デフォルトの名無しさん
24/08/22 18:36:32.87 faui27PU.net
>>128
読んだニワカでなく、Programming Language と書いた人はどうなの? って。
ニカワのように貼りついてすまんが。

130:デフォルトの名無しさん
24/08/22 20:11:53.65 0OofYQEx.net
>>129
AWKはプログラミング言語として使われることはほとんどない。
しかも作った彼らは、プログラミング言語というよりはsedのような使い方をするものとして用意している。
つまり、実際にはシェルスクリプト内の一部だったり、プログラミング言語というのはプログラミング言語の内のプログラミング言語であるから、そこまでわからずに「プログラミング言語」と言ってしまうと知識がないのとがばれる。

131:デフォルトの名無しさん
24/08/22 20:13:29.79 0OofYQEx.net
>>129
その3人はAWKを作ったひと本人
別の人間がAWKを説明しているわけではない

132:デフォルトの名無しさん
24/08/23 06:04:36.15 yV+TW/F+.net
なにか嫌なことでもあったのか?

133:デフォルトの名無しさん
24/08/23 14:32:57.60 TJ+3Kp9a.net
awkはfilter用に特化したプログラミング言語
はい
おしまい

134:デフォルトの名無しさん
24/08/26 00:32:32.66 mcDGuhqL.net
アスペはモノの呼び名に無意味にこだわるよな
力の入れどころがピントズレてるから何事も成し遂げられない無能😨

135:デフォルトの名無しさん
24/08/26 01:02:38.84 cg8iPsZ2.net
AWKは高機能コマンドという位置づけ
これをプログラミング言語と説明し始める技術者が昔からいる
他人が言ったことの受け売りだからAWKの使われ方を説明できない

136:デフォルトの名無しさん
24/08/26 10:39:29.32 3+7ACU+U.net
HTML5はプログラミング言語プルプル

137:デフォルトの名無しさん
24/08/26 11:00:10.36 ln9LIwsB.net
>>135
この辺りが受け売り?
> プログラミング言語と言い出す人間は、ほとんど素人

138:デフォルトの名無しさん
24/08/26 17:26:29.31 VJ190nsi.net
AWKの書籍やAWKの紹介の初めにプログラミング言語と書かれているので、そこだけを読み取って他人にAWKをプログラミング言語と説明するのが恥ずかしいということ。
awkコマンドの引数に手続き処理の文字列を指定できるだけで、AWKは単独で何かの処理を完結させるものではない。
毎回、長いAWKのコマンドを打ち込む人間だったら当てはまらないが、今度は再利用という概念がないことになるのでやはりおかしい。
テストでも毎回、キーボードから打つ初心者はいる。コピーという概念もなければ、ファイルにしてファイルを読み込むという発想すらない。
そこでシェルスクリプトを使うべきと説明しても、キーボードの手打ちにこだわってキーボードのキーを強打するやつはキーボードを叩くのが好きなので、キーを打つ回数が多くないと不機嫌になる。

139:デフォルトの名無しさん
24/08/26 18:36:31.89 FhzwHLyM.net
CGIはプログラミング言語(キリっ

140:デフォルトの名無しさん
24/08/26 18:39:41.56 FhzwHLyM.net
>awkコマンドの引数に手続き処理の文字列を指定できる
引数の - (stdinを意味する) とか
teeとかしらんのか

141:デフォルトの名無しさん
24/08/26 19:36:00.43 1zt/vBon.net
まあこういう考えもあるのかと思っておけばいいのでは
理解とか説得とかじゃなくて、読んでる人が誤解しそうだからのコメントだったら
読む人のためになると思うが

142:デフォルトの名無しさん
24/08/26 20:15:21.46 VJ190nsi.net
>>140
それはawkの話ではない。

143:デフォルトの名無しさん
24/08/26 20:17:18.06 VJ190nsi.net
わざわざロジックをawkに担当させるのは趣味が悪すぎる

144:デフォルトの名無しさん
24/08/26 21:08:03.62 ln9LIwsB.net
$ date '+%s'
1724673881
てコマンドオプションが思い出せなくて、
$ gawk 'BEGIN{ print systime() }';
1724673881
で代用することあるある。

145:デフォルトの名無しさん
24/08/26 22:58:23.62 R6Owoni0.net
>>142
引数の-を解釈するのはawkだけどな

146:デフォルトの名無しさん
24/08/27 00:41:01.50 jPnUMQmz.net
UNIXはハイフンを特殊文字として扱う仕様になっている。

147:デフォルトの名無しさん
24/08/27 14:15:08.68 oHcafaf7.net
ぶっちゃけperlとかpython覚えたらawk要らんけどね

148:デフォルトの名無しさん
24/08/27 15:17:22.25 apM/pcD7.net
ぶっちゃけ awk覚えたら sed要らんけどねてのは一面真実なのだけど、sedは記述が短くて手放せないてのも、事実だったりする。

149:デフォルトの名無しさん
24/08/27 16:41:08.74 236o/Knq.net
>>147
コンピューターの性能が上がったせいで、awkの出番がなくなった。

150:デフォルトの名無しさん
24/08/29 09:38:52.02 1jszJs3n.net
awkは紛うこと無きプログラミング言語(キリっ

151:デフォルトの名無しさん
24/08/29 11:08:24.17 Ju1sdRVj.net
awkでもpythonでもrubyでもsedでもソースを見ればどの言語かわかる
ごっちゃまぜでも問題なく実行する何でもOK言語は作れないのだろうか

152:デフォルトの名無しさん
24/08/29 12:14:04.63 1jszJs3n.net
token分割した単位でも区別出来れば楽だろうけど
ある程度の文脈で観ないと判らんのでは

153:デフォルトの名無しさん
24/08/29 13:15:32.38 CUm3HRgm.net
ごちゃまぜとはいかんが、Perl で Inline でも使ってみる?
URLリンク(perldoc.jp)
awk も ruby も python もサポートされてるぞ。

154:デフォルトの名無しさん
24/08/29 23:44:22.19 N4XBWKhx.net
要は知ったかぶりがしてしまう説明はやめろということ。

155:デフォルトの名無しさん
24/08/30 07:45:14.66 FeMupkVu.net
知ったか。これか。
> AWKは単独で使うものじゃないけど、プログラミング言語と言い出す人間は、ほとんど素人だ。

156:デフォルトの名無しさん
24/08/30 09:29:41.59 742oYIEC.net
awklandωωω

157:デフォルトの名無しさん
24/08/30 11:21:27.27 qi4n2TPj.net
まあ、そうだな。知ったかぶりはかっこ悪いな。
……これでいいか?
煽ってるわけじゃなくてな、これ以外に何を言えばいいのか…

158:デフォルトの名無しさん
24/08/30 12:40:15.18 bLuOfswJ.net
awkland紛争勃発

159:デフォルトの名無しさん
24/09/07 11:40:55.97 LaGZ4PBX.net
フーン

160:デフォルトの名無しさん
24/09/13 16:25:22.25 bblj+c3p.net
He does not talk that much about.

161:デフォルトの名無しさん
24/09/15 09:55:25.02 xw1jp1Zr.net
もしかしてforkland紛争


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch