タグ

shellとawkに関するshuuuuunyのブックマーク (5)

  • プログラム言語 awk Linux/Unix利用者向け一行コマンド

    1行プログラミング awk でデータの単純なフォーマット変換することを目的としています。 まず、次のようなデータ(/tmp/a とします)に対して、処理を行うことを考えます。 1 2 3 4 -5 6 7 8 0 9 10 113 入力行の総数を印字する 入力行の総数を出力します(他の方法 cat /tmp/a | wc)。 cat /tmp/a | awk 'END {print NR }' 実行結果 3 N行目の入力行を印字する 3行目の入力行を出力します(他の方法 cat /tmp/a | head -3 | tail -1)。 cat /tmp/a | awk 'NR==3' 実行結果 9 10 113 N個より多い欄を持つすべての入力行を印字する 1 行に3 個以上のデータが記述されている行をすべて出力する。 % cat /tmp/a | awk 'NF > 3 {print}'

    プログラム言語 awk Linux/Unix利用者向け一行コマンド
  • なるべく書かないawkの使い方 - ザリガニが見ていた...。

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

    なるべく書かないawkの使い方 - ザリガニが見ていた...。
  • 改行を置換したい | skmks

  • AWK で十分ですよ - その1 - 和,平均,最大,最小

    2011年 8月 1日 掲載 「AWK なんて化石だ」 Perl を使っていたころはそう思っていた. が,データを解析する分には,AWK で十分どころか, Perl なんかを使うよりずっと楽だということがわかり, 今では毎日 AWK のお世話になっている. そんな AWK でいかに処理が簡単に書けるかを,この連載では紹介していこうと思う. このような趣旨で書いていくので,掲載するスクリプトは簡単なものばかりになる. あらかじめご承知おき願いたい. 今回は,超基的な統計量を求めるスクリプトを紹介する. まずは,サンプルデータの用意である. もちろん AWK で作る. $ awk 'BEGIN{for(i = 0; i < 100; i++) print rand()}' > data.txt これで,100個の乱数列が書き込まれたファイル data.txt ができたはずである. $ wc

  • Shimpei Endo

    と書くと、8行目から29行目まで抽出したデータがresult,txtに出力されます。awkはファイルを抽出したり処理したりする非常に便利なコマンドで、awkコマンドだけで1冊のが書けるくらいに様々なことができます。ここでは行の抽出をまず紹介します。NRは「何行目」を示す情報です。はじめのNR==8が開始行、NR==29が終了行を意味します。最後の{print}の部分は「そのままprintする」という命令です、つまり「8行目から29行目まで取り出して、そいつをそのままprintしろ」というコマンドです。実はそのままprintするだけでなく、データを加工・演算したりして出力させることもできますが、ここではそこまでは触れないことにします。 上記の2つのシェルスクリプトは同じ動きをします。しかし、以下のように開始行と終了行を変数に入れた場合、ダブルクオテーションでなくてはなりません。

    shuuuuuny
    shuuuuuny 2014/09/20
    n行目
  • 1