腐っても鯛? 騏も老いては駑馬に劣る?
三人の碩学が生み出したスクリプト言語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/
探検
awkについて語るスレ $3
2020/09/14(月) 12:37:48.22ID:ewkQANK9
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--
でも使いどころ難しそう
文字列の場合は小数部ではなく最大幅になるなんて知らなかった
$ 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-") }'
$ 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-") }'
$ awk 'BEGIN { printf("%-.5s\n", "abc-") }'
$ awk 'BEGIN { printf("%-5s\n", "abc-") }'
2020/09/25(金) 21:33:57.37ID:vR6GHAXY
awk は語らず
2020/10/01(木) 21:33:10.71ID:Hlt30BS/
ド素人、予備知識なしがゼロから学ぶのに参考書おすすめ教えてください。
会社でawk使うことになりました。
会社でawk使うことになりました。
2020/10/02(金) 01:11:30.66ID:iPnIlJ3t
プログラミング言語AWKで勉強したけど
gawkの拡張機能はgoogle先生に聞いてる
gawkの拡張機能はgoogle先生に聞いてる
2020/10/02(金) 10:32:39.56ID:Y4P66lDx
>>7
オンラインマニュアルではなんでいけないの?
オンラインマニュアルではなんでいけないの?
2020/10/02(金) 12:51:45.18ID:vJ669CE7
参考書の種類もあまりawkないっしょ
11デフォルトの名無しさん
2020/10/02(金) 13:52:29.74ID:WC+nGixi 以前は awk 勉強したけど
perl とか python とかで済ませてるから
もうメンテ以外では使わないな
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
$
$ echo ' indent' | gawk '{$1 = "no-indent"; print}'
no-indent
$
2020/11/01(日) 22:14:20.04ID:9AmpQCa+
perl5の純粋な正規表現が強いから
ちょっとでもタイプ数減らしてとか
なにか特別なこだわる理由が無いならperl5 でOK
ちょっとでもタイプ数減らしてとか
なにか特別なこだわる理由が無いならperl5 でOK
2021/02/18(木) 05:43:07.88ID:JtFS2IhM
簡単なパーサ書くには一番簡潔だと思う
2021/05/07(金) 21:18:53.69ID:r3UqDDaf
VSCodeでAwkを使いたいのですがDebugなし実行をしたら下部のターミナルに実行結果を出力したり出来ないでしょうか
Awk用のDebug拡張がないとエラーが出ます。そんな拡張存在しないのはわかってます。
Awk用のDebug拡張がないとエラーが出ます。そんな拡張存在しないのはわかってます。
2021/06/18(金) 13:53:16.18ID:rMpkljNE
解決策にならんけど。
awkならWSLでbash使う方がいいんじゃない?
awkならWSLでbash使う方がいいんじゃない?
2021/07/18(日) 03:10:26.05ID:a6CF+eHw
perlはなぁ
$がウザいんだよ$が
$がウザいんだよ$が
2021/07/18(日) 12:09:02.22ID:iK76XXqo
vscodeは分からんけど
インラインでawk実行して出力を拾うスクリプトでも書けばいいんじゃない、シンタックスはawkに設定したままで
awkじゃない部分のせいで変に認識されるかもしれんが、ホスト言語に無害なコメント文字を追加して無視させたり
インラインでawk実行して出力を拾うスクリプトでも書けばいいんじゃない、シンタックスはawkに設定したままで
awkじゃない部分のせいで変に認識されるかもしれんが、ホスト言語に無害なコメント文字を追加して無視させたり
2021/07/18(日) 12:12:17.44ID:iK76XXqo
pwshにC#やF#をヒアストリングで埋め込む時は、そうして補完やハイライトを効かせてる、vimだけど
22デフォルトの名無しさん
2021/07/19(月) 21:05:06.25ID:eMv5hFOn >>19
$1
$1
2021/07/29(木) 11:49:47.49ID:6K+laz5s
AWK、ビット演算ができるといいんだけどねぇ。GNUだといけるんだっけ?
まあそういう演算が必要になるような処理には
おとなしくC使っとけってことかな
まあそういう演算が必要になるような処理には
おとなしくC使っとけってことかな
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
https://www.gnu.org/software/gawk/manual/html_node/Bitwise-Functions.html
25デフォルトの名無しさん
2021/07/29(木) 12:29:34.27ID:f23qcyWP >>23
Perlもよろしく
Perlもよろしく
2021/07/29(木) 15:12:07.59ID:FOJ6srUx
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
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:vS4c4jwy2021/08/18(水) 18:48:35.35ID:3+Zj3nGD
Ubuntu?
30デフォルトの名無しさん
2021/08/18(水) 19:21:30.39ID:vS4c4jwy Ubuntu でなくても CentOS とかでも使える筈。余程ひねくれた Linux ディストリビューションでない限り大丈夫じゃないかな。
man termios でマニュアルページが出てくるようなら多分使える。
man termios でマニュアルページが出てくるようなら多分使える。
31デフォルトの名無しさん
2021/08/29(日) 16:10:31.61ID:9D+MRuLg 以前 awkで数値計算処理するプログラムを書いてたんだけど、高速化のために
gawk から nawk で処理することにしたんだ。小さい処理を書いて、nawk で実行
するとスゲー早くなるんだけど、自分の書いた処理を実行するとわけわからん
エラーを吐く。あちこちコメントアウトして原因を調べると、どうやら、
ループ回数の多い for ループのネストがNGらしいと分かった。nawkの制約を
ググって見たが制約がわからず、仮に自分で試して制約が分かったとしても
ループ処理の書き換えの手間とかを考えると割にあわないので、断念して gawk
のまま使った。かれこれ2年以上たつが、今でも悔しい。
gawk から nawk で処理することにしたんだ。小さい処理を書いて、nawk で実行
するとスゲー早くなるんだけど、自分の書いた処理を実行するとわけわからん
エラーを吐く。あちこちコメントアウトして原因を調べると、どうやら、
ループ回数の多い for ループのネストがNGらしいと分かった。nawkの制約を
ググって見たが制約がわからず、仮に自分で試して制約が分かったとしても
ループ処理の書き換えの手間とかを考えると割にあわないので、断念して gawk
のまま使った。かれこれ2年以上たつが、今でも悔しい。
レスを投稿する
ニュース
- 「レーダー照射」なぜ中国は素直に謝罪しないのか 非を認めず反論、逆ギレ「ごめんなさい」と言えない国情★3 [七波羅探題★]
- 【サッカー】Jリーグ、43億円の赤字予算を承認 ★2 [鉄チーズ烏★]
- 松村沙友理、スタバは好きだけど「やっぱコーヒーに700円800円が…」「家でお湯わかしてやったらタダやん」 [muffin★]
- 40代教員、1億8600万円分の暗号資産だまし取られる 「警察手帳のような物」見せられ−滋賀県草津市 [蚤の市★]
- 上野動物園の双子パンダ、1月末に中国に返還へ 国内でパンダ不在に ★4 [蚤の市★]
- 【ラブホ】小川晶前市長、出直し立候補意向 周囲に伝達 群馬・前橋市長選 [ぐれ★]
- 中国視点で描く日中戦争FPSが開発中。あ、これジャップの悪逆非道が世界に知れ渡っちゃうやつだ [152212454]
- マジな話アイドルはボイトレやダンスを習う暇があるなら握手を頑張れ
- ブレイキングダウンの試合前挑発タイムでくも膜下出血 朝倉未来の責任は [279254606]
- 最近ネットでよく見る「チュウ日人が減って改めて感じた。害悪なのは
- 夜勤寒すぎワロタ
- 中国地方出身の人を中国人と言ったらキレられたんだけど
