2020/06/27 第48回シェル芸勉強会LT資料 https://www.youtube.com/watch?v=PIqx9fCSbaU&t=609s
awkといえばgrep、sed等とともにUNIX黎明期から存在するテキスト処理コマンドとして知られています。最近は高機能なスクリプト言語が台頭し、使いこなせる人も小数派となってきたなか(?)、awkを使ってなんと3Dシューティングゲームが開発されてしまいました。その名も「awkaster」gawk 4.0.0以上を使用しターミナル上で動作します。 awkasterは、レイキャスティングと呼ばれる技術を使った疑似3Dシューターで、モンスターと闘いつつマップを移動して脱出エレベータを目指すゲームです。 ターミナルを開き「gawk -f awkaster.awk」で起動できます。 キーバインドはWASDキーで移動、pで弾丸を発射、1-4でカラーモードの変更、xでエレベーターの起動となっています。 awkを使いこなし、かつゲームプログラミングにも詳しい方はソースコードを探検してみると新たな発見があ
AWK(オーク)を使ったワンライナーはとても強力で簡便なテキスト処理を可能とします.最近は,Perl や Ruby でもほとんど同様のことができ,取って代わられて久しいですが未だにその枯れ力といいますか,汎用性に関しては群を抜いているように思います. また,awk とは AWK の処理系のことを指しています. 一般に元祖 awk と呼ばれる処理系が最初と言われています.実際はわかりませんが,絶滅種の如く見かけることはなく,その文法などに関しても関数定義などの基本的な部分が抜けていたので New awk(通称,nawk)として多少の文法が追加された処理系が,その流派を継いでいます. そして GNU プロジェクトによって大幅強化された awk が gawk です. よく見かけるのは,gawk か nawk のどっちかだと思います. 現在,Linux では標準で gawk が,OS X では 2
追記が増えたので整理 経緯 2.5GBのテキストファイルを加工する必要があり、①vimで開いて加工→vim死亡②sublime textで開いて加工→sublime text死亡となったため、awkを用いて以下の様なコマンドを実行した。 $ cat sample.txt | awk '$5 ~ /((26|27|28|29|30)\/Jun|(01|02|03)\/Jul)/{ print }' > result.txt すると 「catいらなくね?」と指摘 さらにMATSUMOTO, Ryosuke (@matsumotory) | Twitter < 「キャッシュに入れて高速化してるんかと思った」 とコメントをもらいました。ので、どっちが速いかの検証です。 注意 加工の目的はログファイルからある期間だけの行を抜き取りたい 正規表現がいけてないのは気にしない 比較 awkにファイル指定す
「EFK (Elasticsearch + Fluentd + Kibana) なんて甘えですよ、漢は黙って awk | sort | uniq -c ですよ」と誰かが言ってたような言ってなかったような気がするのでログさらう時に自分がよく使う awk 芸について書きます。 想定データサンプル こんなフォーマットで出る TSV 形式の Web アプリケーションログがあったとします。[TAB] はタブ文字です。 時間[TAB]ステータス[TAB]HTTPメソッド[TAB]URI[TAB]リクエストタイム 例えばこんな感じです。このログを awk 芸で処理していきます。 access.log 2014-12-05 12:00:00[TAB]200[TAB]GET[TAB]/api/v1/ping[TAB]0.017832 2014-12-05 12:00:01[TAB]200[TAB]POST[
はじめに 本稿はAWKという言語を用いて、 ごく簡単にデータ分析用の前処理*1をするための解説記事です。 AWKは短いコマンドを記述するだけで多様なデータ処理を可能にします。 特にデータの抽出に関して恐るべき簡易さを提供します。 具体的には、input.txtというファイルの中から "fail"という文字列を含む行を抽出したければ次のように書くだけです。 awk /fail/ input.txt つまり、スラッシュ記号で文字列を指定するだけで その文字列を含む行を抽出できるのです。 大変簡単ですね! また、awkはLinuxやMacには標準で入っており、 Windowsでもawk.exeを一つ用意するだけなので、 面倒なインストール作業や環境構築は不要で誰でも即座に使えるため、 自分で書いた処理を他人に渡したり*2各サーバに仕込むなども簡単に出来ます。 複雑な処理をする場合はPythonや
awkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては、最小限のシンプルな記述で、気の利いた処理を素早くこなす。無駄のないawkワンライナーを見ると、ある種の感動を覚える。awk以降に生まれたスクリプト言語は、少なからずawkの影響を受けていると思われる。 awkを知ることで、間違いなく幸福度は上がると思う。いつかきっと「知ってて良かった」と思える時が来るはず。もっともっと、awkを知りたくなってきた。 基本動作 awkの基本動作は、とってもシンプルである。
AWKの開発者であり、その名の由来にもなったAlfred AhoおよびPeter Weinberger、Brian KernighanによるAWK本「プログラミング言語AWK」が復刊するそうです(復刊ドットコム)。版元はUSP出版、価格は3,990円。 テキスト処理と演算に絶大な効果を発揮する「AWK」は、開発当時の1970年代から、開発者たちによって「30年後、ハードウェアの性能が向上するころに、その真価がわかるだろう」と予言されていたといいます。事実、インターネットの普及により、テキストで書かれたHTMLが大量に生成され、多くの人がテキストデータに触れるようになった昨今において、軽量で簡単にテキストを処理することができるAWKの良さが見直されつつあります。
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く