タグ awk
人気順 5 users 10 users 100 users 500 users 1000 usersプログラミング言語AWKのここがLOVE
プログラミング言語AWKが好きなので、この言語のどこが好きかを語ります。主にAWKを知らない、知ってるけど使ったことが無いかた向けの記事ですが、使ったことがあるかたも「こういう思いで使ってる人がいるのか」と遠巻きに眺めてもらえればと考えます。また、後半で最近出たAWKの書籍についても紹介しているので、そち... 続きを読む
sed awk make 互換性 つらい うんざりザリガニ - Lambdaカクテル
仕事でsedのコードをパパッと書いて使ったら、コードレビューで動かんと言われてしまった。そういえば、同僚はMacで、おれはLinuxだったな。 まぁsedならよくある話なので、しょうがないと思ってawkで同じことをした。awkは比較的もうちょっと互換性がある気がしているからだ(どっこいどっこいな気もする)。 しかしまだ... 続きを読む
awkでつくってわかるWebアプリケーション / Web Application Implementation in awk
YAPC::Hiroshima 2024での、awkによるWebアプリケーションの実装方法について紹介した発表の資料です。 元となった実装は https://github.com/yammerjp/awkblog にあります。 デモアプリケーションは https://awkblog.net にあります。 続きを読む
awkが新しくなる!? 本家AwkがUnicode (UTF-8)とCSV対応に! - Qiita
はじめに 2023年、長い時を経て awk がとうとう Unicode (UTF-8) と CSV に対応しました 🎉🎉🎉 awk で日本語がうまく扱えない(場合がある)、Excel が出力する CSV ファイルが扱えない(場合がある)、といった問題が解決に向けて一歩に進みます。 去年、本家 awk (One True Awk, nawk) に Unicode サポートが Brian K... 続きを読む
シェルスクリプトで日付処理ならdateコマンドは投げ捨ててDateutilsを使おう! - Qiita
この中で私が特に気に入ったコマンドは dateround です。次点は dategrep です。この二つは特に強力で、awk やその他のコマンドを使って日時をこねくり回すような「無駄に難解なコード」を書かずに Dateutils のコマンド群だけで大抵のことはなんでもできてしまいます。専用のことをするには専用のコマンドを作ることが... 続きを読む
GNU AWK 5.0がリリース。8年ぶりのメジャーバージョンアップ。正規表現ライブラリがGLIBCからGNULIBへ移行、名前空間が実装 - Publickey
GNU AWK 5.0がリリース。8年ぶりのメジャーバージョンアップ。正規表現ライブラリがGLIBCからGNULIBへ移行、名前空間が実装 UnixやLinuxにおいてsedやgrepなどと並んでよく知られているツールの1つがawk(オーク)です。このawkのGNUプロジェクトによる実装の最新版「GNU AWK 5.0」(gawk 5.0)のリリースが発表されまし... 続きを読む
私はこうやって(12年前) Google に入った – CTRL+x CTRL+s
書け、という天の声が聞こえたので書いてます。 学生時代 私は修士まで物理学を専攻していて、情報系の勉強は特にしていませんでした。ただ、実験結果をまとめるために awk を使ったり(256倍本とか知っています?)、シミュレーションをするために Fortran 書いたり(関数名の長さに制限ありました)はしていました。 ... 続きを読む
CSVの処理で使えそうなコマンドラインツール(column, textql, csvkit, xsv, visidata, csvtotable, daff, tabview) - もた日記
column textql csvkit xsv visidata csvtotable daff tabview CSV(またはTSV)を処理するときにはcut, sort, awk, paste, joinといったコマンドを使うことが多いが、CSVの処理で使えそうなコマンドラインツールを簡単に試してみる。 テスト用のCSVデータは下記ページで作成した。 Mockaroo - Random Data Generator and... 続きを読む
protocプラグインの書き方 - Qiita
以前の記事 では、Protocol Buffers (protobuf)の魅力の1つは周辺ツールを拡張しやすいことだと述べた。そこで本稿では具体的に拡張のためのprotocプラグインの書き方を紹介したい。 ちなみに、protobufの周辺ツールと言うと2種類ある。 1つはprotobufでシリアライズされたデータを処理するツール。JSONやCSVにとってのjqやsedやawkに相当する。 もう1つ... 続きを読む
awkで作られた3Dシューティングゲーム「awkaster」が凄い
awkといえばgrep、sed等とともにUNIX黎明期から存在するテキスト処理コマンドとして知られています。最近は高機能なスクリプト言語が台頭し、使いこなせる人も小数派となってきたなか(?)、awkを使ってなんと3Dシューティングゲームが開発されてしまいました。その名も「 awkaster 」gawk 4.0.0以上を使用しターミナル上で動作します。 awkasterは、レイキャスティングと呼ばれ... 続きを読む
Linux・UNIXでExcelのフィルタのように、ファイルから〇〇以上、〇〇以下で行を抽出する方法 | 俺的備忘録 〜なんかいろいろ〜
Linux・UNIXでExcelのフィルタのように、ファイルから〇〇以上、〇〇以下で行を抽出する方法 2015年9月26日 CentOS 0 Comments LinuxやUNIXで、Excelのフィルタ機能のように特定の列で〇〇以上、〇〇以下といった指定方法で行を抽出する場合は、awkを使うとカンタンだ。 awkで特定列の値が〇〇以上の行を指定する場合は、以下のように指定する。 awk '列 >... 続きを読む
プロセスのランキュー待ち時間とI/O待ち時間を調べる - ablog
Linuxcat file|awk では実行時間 < CPU時間となっていますが、cat が I/O wait していないとは限りません。実行時間は単純に終了時間 - 開始時間で算出しますが、CPU時間はプロセスのCPU時間を getrusage システムコールで取得します。catのプロセスと awk のプロセスが並列実行されている期間があるため、実行時間 < CPU時間となっています。例えば、C... 続きを読む
”私の環境で”大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablog
performance大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablog を書きましたが、awk file > file より cat file|awk > file が速い環境は稀なようなので、私の環境でなぜ cat file|awk > file のほうが速いのか調べてみました。プロセススケジューラが関係しているようです。↑はPerf + Flame Gr... 続きを読む
大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由 - ablog
performanceはじめにawk file より cat file|awk のほうが速いという以下のブログエントリが興味深いので調べてみました。 [root@localhost sample]# cat command1 awk '$5 ~ /((26|27|28|29|30)\/Jun|(01|02|03)\/Jul)/{ print }' sample.txt > result1.txt ... 続きを読む
大きなテキストファイルをawkで処理するときにcatで投げ込むのと、ファイル読み込みするのどっちが速いか比較 - カメニッキ
2015-07-22 大きなテキストファイルをawkで処理するときにcatで投げ込むのと、ファイル読み込みするのどっちが速いか比較 Linux 2.5GBのテキストファイルを加工する必要があり、①vimで開いて加工→vim死亡②sublime textで開いて加工→sublime text死亡となったため、初awkしてみた。 注意 目的はログファイルからある期間だけの行を抜き取りたい 正規表現がい... 続きを読む
シェルスクリプトの中で変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌
2015-01-25 シェルスクリプトの中で変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 bash shell シェルスクリプトの中で、スペース区切りもしくはタブ区切りのレコードを扱うことがよくあると思います。 たとえば、前回のエントリ「AWS CLIとjqを使って、AWSのELBボリュームがアタッチされているEC2インスタンス名を出力するワン... 続きを読む
正規表現がもっと使える! 直感的にも使いやすくなった最新GNU AWKの拡張機能を知る (1/2):CodeZine
今回からGNU AWKの拡張について説明していきます。AWKは便利なツールですが、今まではある程度複雑なことを行おうとするとPerlやRubyなど他のスクリプト言語に頼っていた方も多かったと思います。GNU拡張によりAWKは大幅に拡張され、様々な用途での利用されることが期待されています。今回から数回に渡りGNU AWKで便利になった点を中心に解説していきます。 続きを読む
統計屋のためのAWK入門 - あんちべ!
2014-09-15 統計屋のためのAWK入門 はじめに 本稿はAWKという言語を用いて、 ごく簡単にデータ分析用の前処理*1をするための解説記事です。AWKは短いコマンドを記述するだけで多様なデータ処理を可能にします。 特にデータの抽出に関して恐るべき簡易さを提供します。 具体的には、input.txtというファイルの中から "fail"という文字列を含む行を抽出したければ次のように書くだけです... 続きを読む
Ruby - プログラマーの通り名まとめ - Qiita
プログラマーの通り名とは プログラミング言語っていろいろありますよね!!ぱっと思いついた順に列挙してみると、「C」「Java」「Ruby」「Python」「JavaScript」「Perl」「awk」「Objective-C」「Haskell」「Prolog」「ActionScript」「PHP」「Swift」「Scala」「Groovy」「Verilog」(手が止まったので、ここで終了)などなど... 続きを読む
AWKで一番の得意ワザ! シェルで文字列を自在に扱うための文字列関数 (1/2):CodeZine
AWKの最も得意とするものは文字列処理だと言われています。従来、Unix上で文字列を処理する一般的な方法は、sed編注1をはじめ、非常に特化した文法を有するプログラムで処理することでした。しかし、AWKの登場により汎用的でC言語ライクな、人が理解しやすい記述を行えるようになり、文字列処理の生産性が向上しました。今回はその文字列処理について説明します。また、AWKの生みの親の一人であるBrian K... 続きを読む
AWKプログラミングの真髄の1つ フィールド(列)を操る基礎テクニック (1/2):CodeZine
前回はAWKのレコード、すなわち行について学びました。今回はフィールド、つまり列について説明します。列を抜き出すのに、cutコマンド編注1の代わりにAWKを利用するケースを見かけますが、AWKのフィールド操作は、cutコマンドよりもはるかに強力なものになっています。そこで、今回もシェル芸編注2でよく使われる事例を中心に説明していきます。 編注1:指定された区切り文字で項目を分割するコマンド。 編注... 続きを読む
シェルコマンドを使った処理の効率化は AWKの行(レコード)操作がカギをにぎる (1/2):CodeZine
行単位で処理を行うことは非常に重要なことです。なぜでしょうか。それは他のUnix系ツールも行単位で処理を行うからです。シェル芸編注1ではパイプを使って次のコマンドに出力を渡しますが、次のコマンドも行単位で処理を行うことが多いため、適切な行をAWKで抜き出すことで円滑な並列処理が可能になります。そのため、シェル芸の効率化は行の処理の効率化と言い換えることができます。そこで、今回はAWKを用いた行の処... 続きを読む
USP 友の会勉強会 2013/12/22 AWK 一行野郎百裂拳 Normal Action-less 1 awk '{print $0}' awk '4' ファイルの中身を書き出す。 ≒ cat 2 awk '{}' awk '' 何も表示しない。 ≒ cat > /dev/null 3 awk '{print NR, $0}' awk '$0 = NR "
USP 友の会勉強会 2013/12/22 AWK 一行野郎百裂拳 Normal Action-less 1 awk '{print $0}' awk '4' ファイルの中身を書き出す。 ≒ cat 2 awk '{}' awk '' 何も表示しない。 ≒ cat > /dev/null 3 awk '{print NR, $0}' awk '$0 = NR " " $0' 行番号を付ける。 ≒... 続きを読む
なるべく書かないawkの使い方 - ザリガニが見ていた...。
コマンドawkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては... 続きを読む
Use multiple CPU Cores with your Linux commands -- awk, sed, bzip2, grep, wc, etc. | RankFocus - Systems and Data
Here’s a common problem: You ever want to add up a very large list (hundreds of megabytes) or grep through it, or other kind of operation that is embarrassingly parallel? Data scientists, I am talkin... 続きを読む