タグ

ブックマーク / zariganitosh.hatenablog.jp (4)

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

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

    なるべく書かないawkの使い方 - ザリガニが見ていた...。
    n_knuu
    n_knuu 2013/12/10
  • UTF-8にもいろいろある - ザリガニが見ていた...。

    前回からの続き。 改行コードの違いを体感してみる - ザリガニが見ていた...。 文字エンコードとロケールを体感する - ザリガニが見ていた...。 改行コードの違いも知った。文字コードとロケール、ターミナルの言語環境との関係も知った。これで文字にまつわる悩みとはおさらばできると思ったら、まだダメだった...。 実験環境 OSX 10.8 Mountain Lion以前((OSX 10.9 Mavericksでは、Mac仕様なNFDのUTF-8を表示しようとするとエラーになってしまったため、10.8以前の環境で実験した。Assertion failed: (width > 0), function conv_c, file /SourceCache/shell_cmds/shell_cmds-175/hexdump/conv.c, line 137. ** ** Abort trap: 6

    UTF-8にもいろいろある - ザリガニが見ていた...。
    n_knuu
    n_knuu 2013/11/26
  • 文字エンコードとロケールを体感する - ザリガニが見ていた...。

    前回からの続き。 改行コードの違いを体感してみる - ザリガニが見ていた...。 今時、OSX環境ならUTF-8で使っていれば何の問題もないだろう、と信じていると痛い目に遭う。 文字化けする現象 AppleScriptエディタで、ファイルフォーマット=テキストで保存してみる。 tell application "Finder" display dialog "こんばんは" end tell ____ここから、ターミナルの環境設定 >> 設定 >> 詳細 >> 言語環境:文字エンコーディング=日語(UTF-8)____ 現在の環境は、ターミナルの環境設定 >> 設定 >> 詳細で、文字エンコーディング=日語(UTF-8)になっている。 新規タブを開いて、catコマンドで確認すると... $ cat $HOME/Library/Scripts/encoding_test.applescri

    文字エンコードとロケールを体感する - ザリガニが見ていた...。
    n_knuu
    n_knuu 2013/11/26
  • 改行コードの違いを体感してみる - ザリガニが見ていた...。

    テキストを入力して、保存して、再び画面に入力したままを表示する。これはコンピュータを操作する上で、最も基的な欲求である。出来て当然のことなのだけど、稀に出来なくて思い悩むことがある。 最近のGUI環境は気が利いているので、ほとんどの場合、良きに計らい正しく表示してくれる。しかし、コマンドの世界では、文字コードにまつわるすべての設定を自分でコントロールする必要がある。すると、とたんにこの最も基的な欲求を満たせなくなることが多い。(自分のこと) なぜ文字化けしてしまうのか?なぜ1行しか表示されないのか?なぜgrepで検索されないのか?なぜ1行ずつループ処理してくれないのか?文字コードにまつわる疑問は多い...。基的なことを理解していれば、思い悩む必要はないのに、毎回無駄に悩んで、時間を浪費している気がする。 まずは文字コードの違いから、ちゃんと調べ直してみた。 実験環境 OSX 10.9

    改行コードの違いを体感してみる - ザリガニが見ていた...。
    n_knuu
    n_knuu 2013/11/26
  • 1