タグ awk
人気順 5 users 50 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 のコマンド群だけで大抵のことはなんでもできてしまいます。専用のことをするには専用のコマンドを作ることが... 続きを読む
Rubyのコードでplain text/JSON/YAMLを整形できるrfコマンドを作った - ぶていのログでぶログ
モチベーション 私はcliでテキストを編集するときはawk/sedを使い、JSONはjq、YAMLはyqを使っている。 それぞれ単純な処理ならあまり苦労せず使えるのだが、複雑な処理をしたい場合スクリプトを組んだりしないといけない。 そういったときにRubyでガっと書いてしまいたいのだけど、ruby -ane '〜' だとそれはそれで書く... 続きを読む
Performance comparison: counting words in Python, Go, C++, C, AWK, Forth, and Rust
Performance comparison: counting words in Python, Go, C++, C, AWK, Forth, and Rust March 2021 Summary: I describe a simple interview problem (counting frequencies of unique words), solve it in various languages, and compare performance across them. For each language, I’ve included a simple, idiom... 続きを読む
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のテクニック集刊行:CodeZine(コードジン)
ビッグデータの利用や人工知能の発展にともなって大量のデータを高速で処理しなければならなくなり、UNIXで開発された言語・AWKが見直されています。しかし、最も古い言語の一つであるがゆえに最新のノウハウを紹介した書籍がまだ少ないのが現状。そこで翔泳社では、『「シェル芸」に効く!AWK処方箋』を刊行します。 『 「シェル芸」に効く!AWK処方箋 』は、日本 GNU AWKユーザー会の斉藤博文さんによる... 続きを読む
awkで作られた3Dシューティングゲーム「awkaster」が凄い
awkといえばgrep、sed等とともにUNIX黎明期から存在するテキスト処理コマンドとして知られています。最近は高機能なスクリプト言語が台頭し、使いこなせる人も小数派となってきたなか(?)、awkを使ってなんと3Dシューティングゲームが開発されてしまいました。その名も「 awkaster 」gawk 4.0.0以上を使用しターミナル上で動作します。 awkasterは、レイキャスティングと呼ばれ... 続きを読む
GitHubの草のSVGをコマンドラインで取得する - Qiita
個人的に対外的なコード書いてるかの指標にGitHubの草、しかもパブリックな状態の草状況を自動で監視したかった(意味不明な文章だ)。 試行錯誤の末、単にシェルのワンライナーでできた curl https://github.com/mizchi | awk '/<svg/,/svg>/' | sed -e 's/<svg/<svg xmlns="http:\/\/www.w3.org\/2000\/... 続きを読む
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... 続きを読む
Linuxカーネルのreadahead、うまく動いてないケースがあるのかも · GitHub
markdown.md 大きなテキストファイルをawkで処理するときにcatで投げ込むと速い理由のような事象が発生する原因についての推察。 自信はあまりない! Linuxカーネルのreadahead実装についての理解 __do_page_cache_readaheadは、次にreadaheadを実行すべきページについてのみReadaheadフラグをたてる 次にreadaheadを実行すべきページ「... 続きを読む
大きなテキストファイルを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してみた。 注意 目的はログファイルからある期間だけの行を抜き取りたい 正規表現がい... 続きを読む
AWKでビール区切りデータ(beer separated values, BSV)を作ってみる | 上田ブログ
こんなのを見てしまったばっかりに・・・ April 11, 2015 Macでこんなワンライナーを書いて実行してしまい・・・ $ echo ソーセージ 餃子 シメのラーメン | awk -v OFS=$"\xF0\x9f\x8d\xba" '{print $1,$2,$3}' こんな出力を得ました。 なんの役にもたたない・・・ さらに・・・ $ echo ソーセージ 餃子 シメのラーメン | se... 続きを読む
シェルスクリプトの中で変数を分割する際には、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のトリッキーな配列&連想配列の仕組み・動作と目からウロコのテクニック (1/2):CodeZine
今回は配列について学びます。通常の言語と異なり、AWKで用いられる配列はすべて連想配列として扱われます。とはいえ、連想配列でありながら、通常の配列と同じように扱える側面があるために、他のプログラミング言語を習得している方で違和感を覚える方もいるでしょう。これはAWKの作者たちが、配列と連想配列を同じように扱えるように工夫した歴史的な経緯によるものです。それでは、少し変わったAWKの配列を勉強してい... 続きを読む
統計屋のためのAWK入門 - あんちべ!
2014-09-15 統計屋のためのAWK入門 はじめに 本稿はAWKという言語を用いて、 ごく簡単にデータ分析用の前処理*1をするための解説記事です。AWKは短いコマンドを記述するだけで多様なデータ処理を可能にします。 特にデータの抽出に関して恐るべき簡易さを提供します。 具体的には、input.txtというファイルの中から "fail"という文字列を含む行を抽出したければ次のように書くだけです... 続きを読む