CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。
awkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては、最小限のシンプルな記述で、気の利いた処理を素早くこなす。無駄のないawkワンライナーを見ると、ある種の感動を覚える。awk以降に生まれたスクリプト言語は、少なからずawkの影響を受けていると思われる。 awkを知ることで、間違いなく幸福度は上がると思う。いつかきっと「知ってて良かった」と思える時が来るはず。もっともっと、awkを知りたくなってきた。 基本動作 awkの基本動作は、とってもシンプルである。
スクリプト書かないでコマンドだけでテキストファイルの処理ができるといろいろ楽。 最近覚えた使い方をメモメモ。 tsvファイルを特定のフィールドの値で分割する 1 hoge 123 2 fuga 456 3 hoge 111 4 fuga 333こんなファイルがあったとする。ファイル名はdata.txt awk '{file=$2 ".txt"; print > $file; close($file)}' data.txt フィールドの2番目の値に拡張子を付けてファイル名として、そのファイルにprintの出力をリダイレクトする。上のデータの場合はhoge.txtとfuga.txtができる。 close()しているのは、開くファイルが多くなり過ぎるとエラーになるため。 行数が多いファイルの特定範囲を抜き出す 数百万行とかあるログファイルをエディタで開くのはつらいので、特定範囲を切り出してから開
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く