タグ

awkに関するakishin999のブックマーク (13)

  • awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! - Qiita

    はじめに 2023年、長い時を経て awk がとうとう Unicode (UTF-8) と CSV に対応しました 🎉🎉🎉 awk で日語がうまく扱えない(場合がある)、Excel が出力する CSV ファイルが扱えない(場合がある)、といった問題が解決に向けて一歩に進みます。 去年、家 awk (One True Awk, nawk) に Unicode サポートが Brian Kernighan の手によって追加されたと話題になった(参照)ことを覚えているでしょうか? Brian Kernighan が誰だか知らない方がいるかもしれないので説明すると、オリジナルの awk の開発者の一人で awk の頭文字、Alfred Aho、Peter Weinberger、Brian Kernighan の一人です。通称「K&R」の「プログラミング言語C」や「プログラミング言語AWK」

    awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! - Qiita
  • Linux・UNIXでExcelのフィルタのように、ファイルから〇〇以上、〇〇以下で行を抽出する方法 | 俺的備忘録 〜なんかいろいろ〜

    LinuxやUNIXで、Excelのフィルタ機能のように特定の列で〇〇以上、〇〇以下といった指定方法で行を抽出する場合は、awkを使うとカンタンだ。 awkで特定列の値が〇〇以上の行を指定する場合は、以下のように指定する。 awk '列 >= 条件' 対象ファイル 複数条件を指定する場合は、以下のように「&&」で繋げる(orの場合は、「||」で繋げる)。 例えば、特定列の値が〇〇以上、〇〇以下といった指定をする場合は、以下のようにする。 awk '列 >= 条件 && 列 <= 条件' 対象ファイル [root@test-centos7 ~]# cat /work/test5_7.txt 1 aaaaa 10 2 bbbbb 4 3 ccccc 7 4 ddddd 3 5 eeeee 9 6 fffff 6 7 ggggg 8 8 hhhhh 2 9 iiiii 1 10 jjjjj 5

  • 手軽に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

  • 大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablog

    以下、長々と書いてますが、結論は ”私の環境で”大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablogに書いてます はじめに awk file より cat file|awk のほうが速いという以下のブログエントリが興味深いので調べてみました。 ちなみに cat file|awk が速くなる環境は稀で、巷では awk file のほうが速い環境のほうが多いようで、どちらが速いかは環境依存です。 [root@localhost sample]# cat command1 awk '$5 ~ /((26|27|28|29|30)\/Jun|(01|02|03)\/Jul)/{ print }' sample.txt > result1.txt (中略) [root@localhost sample]# time sh command1 real 0m53.92

    大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablog
  • ソートしないで重複行を削除する - Qiita

    uniq コマンドは事前にデータをソートしておく必要がありますが、ソートされていないデータから重複する行を削除したいこともありますよね。そんなときは これだけです。 解説 a は連想配列の変数で名前は何でもいいです $0 には行全体が格納されています つまり各行をキーとする連想配列を作成し、同じ行が現れるたびに値をインクリメントします ! により値が 0 のとき、つまり最初にその行が現れたときだけ条件が真になります アクション部分は省略されているので行全体が表示されます Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark them

    ソートしないで重複行を削除する - Qiita
  • 統計屋のためのAWK入門 - あんちべ!

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

    統計屋のためのAWK入門 - あんちべ!
  • 俺とおまえと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の行(レコード)操作がカギをにぎる

    編注1:「シェル芸」とは、UNIXシェル(主にbash)のワンライナーを駆使して文字列加工を自由自在に操ることです。また、そのような能力をもつ人をシェル芸人と呼びます。 「行」=「レコード」 デフォルトでAWKは「行」を「レコード」というものとして扱います。正しくは組込変数RS (Record Separater) で区切られたものをレコードと呼びますが、デフォルトでは、この組込変数RSは改行になるため、行がレコードそのものになります。また、このレコード単位の分割は、アクションでテキストファイルを読み込むと必ず行われるものとなっているため、ユーザーが特別に分割処理をしなくてもレコード単位で扱ってくれる、とても便利な仕組みです。 特殊なものとして、段落単位で読み込むために組込変数RSに空文字列を代入するものや、GNU AWK編注2ではファイル全体をひとつのレコードとして読み込む手法、組込変数

    シェルコマンドを使った処理の効率化は AWKの行(レコード)操作がカギをにぎる
  • なるべく書かないawkの使い方 - ザリガニが見ていた...。

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

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

    This domain may be for sale!

  • 月額1GBあたり1円以下で上限無制限に利用可能なオンラインストレージ「Amazon Glacier」

    By Bank of England オンラインストレージというと基料金で使える容量は決まっていて、それ以上の容量については追加不可能か、追加料金が必要になるというサービスが多い中、Amazonが1GBあたりの料金が月額0.01ドル(約0.8円)で、データ量自体は無制限に利用可能なストレージ「Amazon Glacier」をリリースしました。 Amazon Glacier http://aws.amazon.com/jp/glacier/ 【AWS発表】 Glacier – 1GBあたり月額約1円で利用可能なアーカイブストレージが登場 - Amazon Web Services ブログ 手元にファイルを保管しておこうと思うとHDDやSSDBlu-rayやDVDといった記憶媒体を保存したい容量分だけ用意しておき、足りなくなったら買ってこなければいけませんが、Amazon Glacierは

    月額1GBあたり1円以下で上限無制限に利用可能なオンラインストレージ「Amazon Glacier」
  • おそらくはそれさえも平凡な日々: awkの代わりにperlを使おう

    perlのコマンドラインオプションには-aってのがあります。これはawkモードです。perl --help見るとautosplit modeとか書いてありますが。 perlは-pや-nオプションを渡す事によってファイルを一行づつ処理してくれますが、その時に-aオプションを渡すと@F配列にフィールドの情報を自動的に入れてくれます。 フィールドのセパレータはデフォルトではスペースですが、-Fオプションで指定可能です。 カンマ区切りのテキストの、最初のフィールドだけを表示したい場合は以下の様な感じ。 % cat test.txt server1,1343363124,30,/video.php server2,1343363110,20,/profile.php server3,1343363115,7,/login.php server1,1343363105,8,/profile.php %

  • 1