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