タグ

awkに関するlemonjpのブックマーク (5)

  • Expense Calculator

    I wrote this calculator when I volunteered to work out the expenses for our 1981 ski trip to Jackson Hole. I wasn't even sure how to approach the calculation so I just started writing facts into a file. Pretty soon I realized that if I could just sum the groups and then bring those sums into other groups then I'd pretty much have it. I wrote a small AWK script to do just that and print a report. I

  • なるべく書かないawkの使い方 - ザリガニが見ていた...。

    awkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては、最小限のシンプルな記述で、気の利いた処理を素早くこなす。無駄のないawkワンライナーを見ると、ある種の感動を覚える。awk以降に生まれたスクリプト言語は、少なからずawkの影響を受けていると思われる。 awkを知ることで、間違いなく幸福度は上がると思う。いつかきっと「知ってて良かった」と思える時が来るはず。もっともっと、awkを知りたくなってきた。 基動作 awkの基動作は、とってもシンプルである。

    なるべく書かないawkの使い方 - ザリガニが見ていた...。
  • UNIX「awk」コマンド(Hishidama's UNIX-command "awk" Memo)

    awk(オーク) 〔オプション〕 ファイル名… C言語に似た文法を持つスクリプト言語。テキストファイルを加工するのに使う。 実行方法 [/2007-05-12] 文法 条件(パターン) [/2007-05-14] 処理(アクション) $変数 [/2007-04-24] 組み込み変数 [/2014-05-01] 組み込み関数 [/2014-05-01] 関数の定義方法 [2011-12-26] 実行方法 % awk "1行プログラム" hoge.txt % awk -f プログラムファイル hoge.txt 入力ファイルを読み込み、データを1行ずつ、プログラムに従って編集・出力する。(標準出力に出力される) 入力ファイルを省略した場合は、標準入力からデータを読み込む。 -fオプションでファイル名に「-(ハイフン)」を指定すると、標準入力からプログラムが入力できる。[2007-04-24] た

  • AWKの第一歩

    小栗栖 修 金沢大学理学部計算科学科 2001年1月8日(月): 第1版 2002年10月10日(木):第1.1版 ogurisu[AT]kanazawa-u.ac.jp この文書の目標は AWKを使ったことがない人が使い始めるきっかけになれば というところにあります。 Cや Javaよりも気楽にプログラミングが楽し めて、もちろん実用的なプログラムが書けるのが AWKやperl, rubyに代表さ れるスクリプト言語です。すでにweb上にも AWKの文書が日語のものも含 めてたくさんあります。格的なマニュアル形態の文書も、 A4に印 刷して数枚程度のものもあります。が、ちょっと使ってみようというには格 的な文書はしんどいし、 A4数枚程度のものは簡潔すぎて何ができる のかよくわからないと思います。それを補完できればなと思っています。もし、 この文書以上のことをしたくなったら、もっと

  • awk

    概説 awkはフィールド境界が存在するデータの操作を楽に行うことができる言語です。次の例では左から5番目の要素であるファイルサイズを列挙します。 ls -l |awk '{print $5}' awkでは、行要素をレコード、列要素をフィールドと言います。 $1, $2, ...は処理中のレコードから、特定のフィールドをフィールド番号を指定して取り出します。 $0はレコード全体を取り出します。 awkはレコードごとにアクションを行う言語なので、この例はls -lの結果を1行ずつ読んで、その5番目の要素を表示する、ということを行っています。次の例はファイルサイズの合計を表示します。 ls -l |awk 'BEGIN{i=0} {i+=$5} END{print i}' BEGINとENDは特殊なアクションで、 BEGINは処理開始前に、ENDは処理終了後に1回だけ呼ばれます。この例はまずiに

  • 1