タグ

awkに関するdwarfjayのブックマーク (2)

  • 環境に依存しないワンライナーを書くならsedよりperlの方がいい - Qiita

    まえがき sedで環境に依存しないワンライナーを書きたかったけど、BSDとGNUの実装で微妙に挙動が違うせいで難しかった。で、いっそのことperlで書いた方がいいのでは、という結論になった。ぐぐったらperlのワンライナーの書き方出てくるけど何でそう動くのか分からなかったのでそれも調べた。そこらへんについてまとめる。 GNU sedとBSD sedの違い、perlからsedへの乗り換え方簡易版、その詳細、という感じでまとめたので知りたいところからどうぞ。 sedにはGNU sedとBSD sedがある sedで とかしようとすると実行する環境によって失敗する。 sedにはBSDの実装とGNUの実装があるからだ。-EはBSD sedで拡張正規表現を使うオプションで、GNU sedで拡張正規表現を使いたければ-rを使う必要がある。 じゃあ拡張正規表現を使わずにデフォルトの正規表現を使えばいいの

    環境に依存しないワンライナーを書くならsedよりperlの方がいい - Qiita
  • 手軽にHaskell できる hawk が楽しい | そんなこと覚えてない

    コマンドラインで Haskell のワンライナーっぽいものが使える hawk ってのがあるらしくて、awk に似ているから hawk っていうらしい。 気軽に Haskell の練習できて楽しい。 インストールは $ cabal install haskell-awk らしい。 hoge:goro:mogu goro:mogu:hoge という入力があって 2列目だけ取り出したーいとかなら $ echo "hoge:goro:mogu\ngoro:mogu:hoge" | hawk -d: -m '!!2' mogu hoge という感じらしい。-m を使うと行ごとの処理がかけて -d を使うとデリミタを認識してあらかじめリストしておいてくれる。 それ意外にも情報源にできる。 奇数のリストを作って10個とりだしてみる。 $ hawk 'take 10 [1,3..]' 1 3 5 7 9

  • 1