腐っても鯛? 騏も老いては駑馬に劣る?
三人の碩学が生み出したスクリプト言語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年以上たつが、今でも悔しい。
32デフォルトの名無しさん
2021/08/29(日) 17:24:08.41ID:tafixoPz stack使いすぎなだけじゃね
2021/08/30(月) 00:45:59.57ID:Y1YJvMvh
34デフォルトの名無しさん
2021/10/26(火) 10:40:35.62ID:xOnuf5b9 vscodeでAWKを実行する方法
code Runnerを入れて、JSONを追加編集
{
"code-runner.executorMapByFileExtension": {
".awk" : "gawk -f $fullFileName",
},
}
(入力ファイルを使用する実行はできないが、
BEGIN内で完結するスクリプトならOK)
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 キタ
2022/04/09(土) 07:36:41.89ID:OA+lRtl7
キタ━━━━(゚∀゚)━━━━!!
2022/10/30(日) 23:13:43.05ID:T4RtgQ02
AWKは必須だわ
過去に書かれたログ管理のスクリプトが膨大過ぎる
過去に書かれたログ管理のスクリプトが膨大過ぎる
2023/07/03(月) 20:19:05.03ID:eAFNzqys
バイブルのSecond Edition
> The book will be available by the end of September.
だって。売れるの? 売れまくって訳本出るかな。無理だろうな。
> The book will be available by the end of September.
だって。売れるの? 売れまくって訳本出るかな。無理だろうな。
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
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
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度目の復刊がなされた。
翻訳する会社があるかどうか
今も日本語訳のプログラミング言語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度目の復刊がなされた。
2023/07/08(土) 01:58:24.90ID:ZE4F8/ug
というか復刊がされるってことは
それだけ廃刊になってるということなわけで
売れるのか?
それだけ廃刊になってるということなわけで
売れるのか?
2023/07/08(土) 05:04:22.58ID:Z95/l0J7
awk は、CSV すら無理でしょ
テキスト処理やファイル操作などは、Ruby で良い
テキスト処理やファイル操作などは、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).
> 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).
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
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
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
>>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
2023/07/13(木) 00:42:11.27ID:67L5jZpB
2023/09/28(木) 23:45:42.65ID:sTPdbM4+
2023/11/11(土) 12:13:12.03ID:sKF2Igrm
https://qiita.com/ko1nksm/items/1a3e711bbd925657f5fd
これ書いてる人はちとアクが強い感じだがその方面で有名ってわけでもない?
これ書いてる人はちとアクが強い感じだがその方面で有名ってわけでもない?
レスを投稿する
ニュース
- 斎藤元彦・兵庫県知事、関西学院大学での「講演」予定に波紋 法学部長がコメント「教授会は承認せず」「利用されているようで不愉快」 [ぐれ★]
- 【コメ】やっぱり進次郎のほうがマシ…「コメの値下げは無理」と言い張る農林族の鈴木農水大臣 ★3 [ぐれ★]
- 石破前首相 おこめ券配布に「その原資は何?国民の税金でしょう」「リーズナブルな価格でお米が手に入るようにすることの方が大事」 [muffin★]
- 【発信国情報】X、プロフィール上に「VPN使用の有無」も表示か… ★2 [BFU★]
- 香港、日本側と交流停止 首相発言受け中国に追従 [蚤の市★]
- 「イスラム土葬墓地、国の責任で全国に整備を」大分の自民市議団が異例要望 岩屋毅氏尽力 日出町 [少考さん★]
- なんでブタをぶったたくの?
- ブタだけはぶったたかないで
- マーガリンってプラスチックなの?
- ( ・᷄ὢ・᷅ )ビール飲みたくなってきた
- 【速報】香港、日本総領事と断交 [369521721]
- ほらあんたたち!!!おちんちんの時間だよ!!!
