タグ

awkに関するpipeheadのブックマーク (9)

  • AWKのこういう時はどう書く? - Qiita

    linuxのコマンドラインでデータ加工をする際によく使うAWKですが、個人的につまずいた使い方について、 覚え書きとして残します。誰かの助けになれば… 組み込み関数覚え書き FS 入力フィールドセパレータ(空白とタブ) CNVFMT 数値を文字列に変換するフォーマット OFMT 数字の出力フォーマット(%.6g) OFS 出力フィールドセパレータ(空白) ORS 出力レコードセパレータ(\n) RS 入力レコードセパレータ(\n) SUBSEP 配列添字セパレータ(\034) ARGC コマンド行の引数の数+1 ARGV コマンド行の引数の配列 ENVIRON["..."] 環境変数の値 FILENAME 入力ファイル名 FNR 入力ファイルの通算レコード NF 入力レコードのフィールド数 NR 入力レコード総数 RLENGTH matchで適合した文字列の長さ RSTART matchで

    AWKのこういう時はどう書く? - Qiita
  • 実用 awk ワンライナー - Qiita

    AWK(オーク)を使ったワンライナーはとても強力で簡便なテキスト処理を可能とします.最近は,PerlRuby でもほとんど同様のことができ,取って代わられて久しいですが未だにその枯れ力といいますか,汎用性に関しては群を抜いているように思います. また,awk とは AWK の処理系のことを指しています. 一般に元祖 awk と呼ばれる処理系が最初と言われています.実際はわかりませんが,絶滅種の如く見かけることはなく,その文法などに関しても関数定義などの基的な部分が抜けていたので New awk(通称,nawk)として多少の文法が追加された処理系が,その流派を継いでいます. そして GNU プロジェクトによって大幅強化された awk が gawk です. よく見かけるのは,gawk か nawk のどっちかだと思います. 現在,Linux では標準で gawk が,OS X では 2

    実用 awk ワンライナー - Qiita
  • 俺とおまえとawk - 俺たちのブログ

    「EFK (Elasticsearch + Fluentd + Kibana) なんて甘えですよ、漢は黙って awk | sort | uniq -c ですよ」と誰かが言ってたような言ってなかったような気がするのでログさらう時に自分がよく使う awk 芸について書きます。 想定データサンプル こんなフォーマットで出る TSV 形式の Web アプリケーションログがあったとします。[TAB] はタブ文字です。 時間[TAB]ステータス[TAB]HTTPメソッド[TAB]URI[TAB]リクエストタイム 例えばこんな感じです。このログを awk 芸で処理していきます。 access.log 2014-12-05 12:00:00[TAB]200[TAB]GET[TAB]/api/v1/ping[TAB]0.017832 2014-12-05 12:00:01[TAB]200[TAB]POST[

    俺とおまえとawk - 俺たちのブログ
  • 統計屋のためのAWK入門 - あんちべ!

    はじめに 稿はAWKという言語を用いて、 ごく簡単にデータ分析用の前処理*1をするための解説記事です。 AWKは短いコマンドを記述するだけで多様なデータ処理を可能にします。 特にデータの抽出に関して恐るべき簡易さを提供します。 具体的には、input.txtというファイルの中から "fail"という文字列を含む行を抽出したければ次のように書くだけです。 awk /fail/ input.txt つまり、スラッシュ記号で文字列を指定するだけで その文字列を含む行を抽出できるのです。 大変簡単ですね! また、awkはLinuxMacには標準で入っており、 Windowsでもawk.exeを一つ用意するだけなので、 面倒なインストール作業や環境構築は不要で誰でも即座に使えるため、 自分で書いた処理を他人に渡したり*2各サーバに仕込むなども簡単に出来ます。 複雑な処理をする場合はPython

    統計屋のためのAWK入門 - あんちべ!
  • awkのprintfは切捨てでも四捨五入でもない? - アウトプットができる技術者に

    printfを利用することで小数点第N位での切捨てが簡単にできる...と思ったていたら、不思議な結果になりました。 「0.5」が四捨五入になりません。 でも「0.51」は四捨五入になるようです。 echo "0.124" | awk '{printf("%0.2f", $1)}' # => 0.12 echo "0.125" | awk '{printf("%0.2f", $1)}' # => 0.12 echo "0.1251" | awk '{printf("%0.2f", $1)}' # => 0.13 echo "0.126" | awk '{printf("%0.2f", $1)}' # => 0.13 ... これwindows cygwinのawkだけ? それとも、他の言語のprintfでもそうなのかな?? そのうち 検証します

    awkのprintfは切捨てでも四捨五入でもない? - アウトプットができる技術者に
    pipehead
    pipehead 2013/04/15
    偶数丸め
  • getline の問題点 - 日本 GNU AWK ユーザー会 0.2

    Ed Morton による getline の問題点の指摘 を翻訳してみました。少し強引なところはありますが、初心者が getline の罠にかかって comp.lang.awk に投稿して、また Ed を怒らすくらいなら読んでおいて損はないと思います。一方、awker であっても getline の回避方法を知っておいた方が良いので、ぜひ一読ください。ただし、翻訳が分かりにくいのは私のせいでもあるのですが、時々原文でも分かりにくい点があるので、両方を見比べて下さると助かります。 以下の要約は、getline の (間違った) 使用を繰り返さないため Ed Morton が書い たものであり、主に Arnold Robbins の "Effective Awk Programming" 第 3 版 (http://www.oreilly.com/catalog/awkprog3) のレビュ

    getline の問題点 - 日本 GNU AWK ユーザー会 0.2
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • IBM Developer

    IBM Developer is your one-stop location for getting hands-on training and learning in-demand skills on relevant technologies such as generative AI, data science, AI, and open source.

    IBM Developer
  • 1