タグ

awkに関するrichard_rawのブックマーク (31)

  • Pythonをコマンドラインで使いたいのでopyというコマンドを作った | 上田ブログ

    研究者兼物書きの上田隆一のサイトです。なお、このサイトはBash製です。 お知らせ: ロボット屋さんMisskeyサーバー立てたのでアカウント作って! /  SoftwareDesign誌で連載を再開しました。 /  ThinkPadの広告記事に出ました。 /  詳解確率ロボティクスは第7刷突入 /  シェル・ワンライナー160ノック第5刷でました。 /  Amazonを売ってます。 / Pythonをコマンドラインで使いたいのでopyというコマンドを作った Sun Sep 8 16:22:46 JST 2019 (modified: Mon Sep 9 18:33:27 JST 2019) views: 12887, keywords:opy, Python, ワンライナー, シェル芸 この記事は最終更新日が4年以上前のものです。 一つ前の記事をもうちょい真面目に書きました。 この

    Pythonをコマンドラインで使いたいのでopyというコマンドを作った | 上田ブログ
    richard_raw
    richard_raw 2019/09/10
    Pythonをawkっぽく使いやすくするやつ。けして促音してはならぬ(戒め)
  • GNU AWK 5.0がリリース。8年ぶりのメジャーバージョンアップ。正規表現ライブラリがGLIBCからGNULIBへ移行、名前空間が実装

    GNU AWK 5.0がリリース。8年ぶりのメジャーバージョンアップ。正規表現ライブラリがGLIBCからGNULIBへ移行、名前空間が実装 UnixやLinuxにおいてsedやgrepなどと並んでよく知られているツールの1つがawk(オーク)です。このawkのGNUプロジェクトによる実装の最新版「GNU AWK 5.0」(gawk 5.0)のリリースが発表されました。 2011年にリリースされたGNU AWK 4.0から8年ぶり、直前のバージョンでとして2017年10月にリリースされた4.2.0からは約1年半ぶりとなります。 AWKはいわゆるスクリプティング言語の一種。変数や関数、制御文など基的な構文を備え、テキストファイルを効率的に処理できるのが特徴です。 GNU AWK 5.0の新機能としては、printfの%aおよび%Aの書式がPOSIX標準に準拠したこと、正規表現のルーチンが、長

    GNU AWK 5.0がリリース。8年ぶりのメジャーバージョンアップ。正規表現ライブラリがGLIBCからGNULIBへ移行、名前空間が実装
    richard_raw
    richard_raw 2019/04/17
    名前空間……?
  • シェル芸勉強会の問題を紐解いてみた | DevelopersIO

    はじめに 中山(順)です みなさん、シェル芸ってご存知ですか? ワンライナーで人をあっと驚かせるような出力を行うこと、それがシェル芸。(たぶん) シェル芸 - アンサイクロペディア 私は何を思ったのか、ふらりとシェル芸勉強会に参加してみました。 jus共催 第35回またまためでたいシェル芸勉強会 そこは私の知らない世界でした。 出題された問題 勉強会は予め主催者側で用意された問題をみんなで問いていくという形で進められました。 まずはどんな問題が出題されたか見てください。 【問題のみ】jus共催 第35回またまためでたいシェル芸勉強会 |\           /| |\\       //| :  ,> `´ ̄`´ <  ′ .       V            V .       i{ ●      ● }i 八    、_,_,     八    わけがわからないよ .      

    シェル芸勉強会の問題を紐解いてみた | DevelopersIO
    richard_raw
    richard_raw 2018/04/09
    awkは便利ですよねー。peeとrevは使ってみたいです。
  • シェル芸に使える、確実で高速なデータ処理が得意なAWKのテクニック集刊行

    ビッグデータの利用や人工知能の発展にともなって大量のデータを高速で処理しなければならなくなり、UNIXで開発された言語・AWKが見直されています。しかし、最も古い言語の一つであるがゆえに最新のノウハウを紹介した書籍がまだ少ないのが現状。そこで翔泳社では、『「シェル芸」に効く!AWK処方箋』を刊行します。 『「シェル芸」に効く!AWK処方箋』は、日 GNU AWKユーザー会の斉藤博文さんによる『シェルスクリプトマガジン』(USP研究所発行、CodeZineにも転載)の連載と、斉藤さんへのインタビュー記事をまとめた単行です。 AWKは1970年代にUNIXで開発された言語で、今なお高速でデータ処理を行うために使われています。書ではAWKが得意とする文字列処理だけでなく、時刻を取得する関数や数値演算を行う方法、連想配列(通常の配列と同じように扱える)、真髄の一つであるフィールド(列)を操る

    シェル芸に使える、確実で高速なデータ処理が得意なAWKのテクニック集刊行
    richard_raw
    richard_raw 2017/02/01
    GNU AWK拡張機能が気になります。/私が唯一所持してる256倍シリーズ本がAWKだったなあ。
  • 最近覚えたシェルスクリプトの小ネタ - カメニッキ

    シェルスクリプト神から教えていただいた。忘れないように書いとく (追記)聞いて、自分の記憶した内容をそのまま書いちゃったので、ちゃんとマニュアル通りか確認してなかったので反省 $ man bash 目次 xargsでfunctionを叩く 連想配列もどき 変数間接参照 なんでもかんでもawkで整形しない 文字列の末尾から数えて○文字目を△文字取り出す 番外編:やたら if [ ]; then を使わない ※Markdownで目次の書き方がわからんかった xargsでfunctionを叩く 下の例だと find xxxx | xargs cp xxxx ってかけば良さそうでイマイチだけど、もっと複雑な処理やらせたいときに。 前はこう書いてた #!/bin/bash for x in `find /var/www -name xxx` do cmd="cp -v /hoge/fuga/xxx

    最近覚えたシェルスクリプトの小ネタ - カメニッキ
    richard_raw
    richard_raw 2016/06/30
    「export -f」は知りませんでした!/何でもかんでもfindコマンド使い過ぎじゃないですかね。あとbasenameェ……。
  • 構造化テキストデータを操作するためのコマンドラインツールリスト | POSTD

    テキストベースのファイル形式と、それぞれを(主にLinux上で)操作するためのコマンドラインツールのリストを掲載しています。 目次 DSV XML,HTML JSON YAML,TOML INI 設定ファイル おまけ:単一ファイルデータベース用コマンドラインインタフェース(CLI) ライセンス 情報開示 DSV CSV や TSV などを含む DSV(Delimiter-separated values、区切り文字で区切られた値) です。 Awk AwkはPOSIXで標準化されているコマンドラインツールで、DSVデータ処理用プログラミング言語です。Awkに関するリンクは以下のとおりです。 Awk.info — Awkに関する情報が豊富です。 AWK Vs NAWK Vs GAWK —プラットフォーム別実装の比較です。 すでにプログラミング言語を使用してプログラミングをしている場合は、naw

    構造化テキストデータを操作するためのコマンドラインツールリスト | POSTD
    richard_raw
    richard_raw 2016/06/03
    GNU datamashが気になります。
  • 3 複数のデータファイルの処理

    richard_raw
    richard_raw 2015/10/05
    awkでの複数ファイルの扱い。FILENAMEやFNRという変数があったのか……。ARGINDはENDブロックで初期化されるっぽい。
  • awkで複数ファイルをそれぞれ集計し、一つのファイルに出力するには

    >notnotさんに提示していただいたスクリプトは、どのようにして実行させればよいのでしょうか。 シェルプロンプトでそのまま打ち込むか、あるいは、そのままシェルバッチスクリプト中に書けば良いです。 >awkを実行させるのに、「jgawk -f "プログラム名" "データ名" > "結果表ファイル名"」と、バッジファイルを作って実行させるやり方しか知りません。 ' と ' に囲まれた中をpgm.awkに書いて、 awk -F, -f pgm.awk file1 file2 file3 > file4 としても良いです。 >各ファイルが複数行ある場合、どのようにすればよいのでしょうか。 ・各ファイルの行数は同じ ・各ファイルの同一行数目の数字個数は同じ とすると、awkプログラムを別ファイルに書く方式で示すと下記のようになります。 BEGIN{FS=","} #入力行のセパレータをカンマにする

    awkで複数ファイルをそれぞれ集計し、一つのファイルに出力するには
    richard_raw
    richard_raw 2015/10/05
    測定値の平均を算出したいだけなのでわざわざNumpyとかMatlabとか使うのもなー、と思って検索したら……awkで複数ファイルを扱えるの知りませんでした。
  • 実用 awk ワンライナー - Qiita

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

    実用 awk ワンライナー - Qiita
    richard_raw
    richard_raw 2015/09/24
    重複行削除すげー。あ、奇数行表示はやったことある。
  • 大きなテキストファイルをawkで処理するときにcatで投げ込むのと、ファイル読み込みするのどっちが速いか比較 - カメニッキ

    追記が増えたので整理 経緯 2.5GBのテキストファイルを加工する必要があり、①vimで開いて加工→vim死亡②sublime textで開いて加工→sublime text死亡となったため、awkを用いて以下の様なコマンドを実行した。 $ cat sample.txt | awk '$5 ~ /((26|27|28|29|30)\/Jun|(01|02|03)\/Jul)/{ print }' > result.txt すると 「catいらなくね?」と指摘 さらにMATSUMOTO, Ryosuke (@matsumotory) | Twitter < 「キャッシュに入れて高速化してるんかと思った」 とコメントをもらいました。ので、どっちが速いかの検証です。 注意 加工の目的はログファイルからある期間だけの行を抜き取りたい 正規表現がいけてないのは気にしない 比較 awkにファイル指定す

    大きなテキストファイルをawkで処理するときにcatで投げ込むのと、ファイル読み込みするのどっちが速いか比較 - カメニッキ
    richard_raw
    richard_raw 2015/07/23
    Shellcheckかけると "Useless Use Of Cat" とか怒られるんですがマジですか……。
  • AWK & Shell テキスト処理ブーム再来について熱くなる夜。|ジュンク堂書店 池袋本店|イベント・フェア詳細 |丸善&ジュンク堂ネットストア

    「AWK & Shell テキスト処理ブーム再来について熱くなる夜。」 ジュンク堂書店 池袋店 開催日時:2015年06月18日(木)19:30 ~ フェア・イベント一覧 開催店舗ページへ 上田隆一(産業技術大学/『シェルプログラミング実用テクニック』著者) 中島雅弘(アーヴァイン・システムズ代表/『AWK実践入門』著者) 富永浩之(香川大学/『AWK実践入門』著者) 上田隆一、USP 研究所『シェルプログラミング実用テクニック』 中島雅弘、富永浩之、國信真吾、花川直己『AWK 実践入門』 刊行記念イベント UNIX誕生直後から現在も使われ続けているシェルとAWKは、UNIXというOSの性格を語 る上では不可欠の存在です。一方、なじみの無い人にとっては、その使い方、そして強 力さを垣間見る機会は限られています。 そこで前半では、「AWK実践入門」の作者陣から、プロの現場

    richard_raw
    richard_raw 2015/06/04
    行きたいけど無理だにゃあ……(近畿在住)
  • GNU AWKはまだまだ成長中! ユーザーの声をもとに作成された拡張機能を組み込んでみよう

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    GNU AWKはまだまだ成長中! ユーザーの声をもとに作成された拡張機能を組み込んでみよう
    richard_raw
    richard_raw 2015/01/30
    inplaceモードが出来ていた!
  • シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌

    シェルスクリプトの中で、スペース区切りもしくはタブ区切りのレコードを扱うことがよくあると思います。 たとえば、前回のエントリ「AWS CLIとjqを使って、AWSのELBボリュームがアタッチされているEC2インスタンス名を出力するワンライナーを書いた - 双六工場日誌」のスクリプトの出力は以下のようになります。 i-ec56a9f5 vol-07d00601 servername i-ec56a9f5 vol-8f550991 servername このようなレコードの特定の列を取り出して、処理する際にどうするのが効率的か、というのがこのエントリのお題です。 非常に古い話題なので、昔からシェルスクリプトを書いている人には自明な話ではありますが、最近、シェルの標準機能の話を聞く機会がなく、失われつつある技術になってきている気がしているので、改めて確認ということで。 例として挙げたレコードから

    シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌
    richard_raw
    richard_raw 2015/01/26
    なるほどsetを使うのか!近頃はbashしか触れてないから配列に入れてましたわ。
  • GNU AWKでCSVファイルを楽々あつかう組込変数FPATと、関数のインダイレクト呼び出し

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    GNU AWKでCSVファイルを楽々あつかう組込変数FPATと、関数のインダイレクト呼び出し
    richard_raw
    richard_raw 2014/12/26
    FPAT設定しても効かないなーと思ってたら、gawk4からの新機能でしたか。Vagrant附属の3.1.7を使ってました。
  • これは強力! AWKとパイプの新しい関係 ~ 時刻を取得する関数、Socket通信、双方向パイプ

    CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

    これは強力! AWKとパイプの新しい関係 ~ 時刻を取得する関数、Socket通信、双方向パイプ
    richard_raw
    richard_raw 2014/12/16
    gensub()とかxargsの使われ方とか(ぇ
  • 統計屋のためのAWK入門 - あんちべ!

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

    統計屋のためのAWK入門 - あんちべ!
    richard_raw
    richard_raw 2014/09/16
    ΔE94の色差計算をAWKのワンライナーで書いたことがあるので親近感ががが。/そういえばあんまりgsub使ったことないや。
  • シェル芸勉強会問題一覧 | 上田ブログ

    第23回 問題のみ 解答つき 第22回 問題のみ 解答つき 第21回 問題のみ 解答つき 第20回 問題のみ:/?p=7332 解答つき:/?p=7196 第19回 問題のみ:/?p=7146 解答つき:/?p=7068 第18回 問題のみ:/?p=6877 解答つき:/?p=6836 第17回 問題のみ:/?p=6454 解答つき:/?p=6409 第16回 問題のみ:/?p=5851 解答つき:/?p=5644 第15回 問題のみ:/?p=5171 解答つき:/?p=5093 (番外編)2015年お正月用問題 問題:/?p=4852 解答:/?p=4821 第14回 問題のみ:/?p=4671 解答つき:/?p=4413 第13回 問題のみ:/?p=4051 解答つき:/?p=3792 第12回 問題のみ:/?p=3569 解答つき:/?p=3535 第11回

    richard_raw
    richard_raw 2014/08/05
    シェル芸の問題と解答例一覧。暇な時にやってみよう。
  • なるべく書かないawkの使い方 - ザリガニが見ていた...。

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

    なるべく書かないawkの使い方 - ザリガニが見ていた...。
    richard_raw
    richard_raw 2013/12/10
    何度か読み返したい。/そういえば256倍本持ってるわ。
  • Use multiple CPU Cores with your Linux commands - awk, sed, bzip2, grep, wc, etc. - RankFocus - Systems and Data

    richard_raw
    richard_raw 2013/11/01
    そういえばHomebrewでGNU Parallelをインストールしてたけど殆ど使ってませんでした。こういう使い方なんですね。
  • ruby ワンライナーの使い方まとめ - それマグで!

    Ruby のワンライナーについて、書いていきます。 ワンライナーを使うと ワンライナーを使うと、置換や出力処理がとっても便利になります。 ruby -ne '$_.gsub!(/takuya/,"takuya_1st")' -i my_blog.txt 今回使うサンプルファイル はじめに次のようなファイルを用意しました。こんかいはこのサンプルを使います コーヒ・フラペチーノ 420 ダークモカチップフラペチーノ 490 抹茶クリームフラペチーノ 470 バニラクリームフラペチーノ 470 基の -e オプション 基の-eオプションです。ruby スクリプトを直接指定する方法です。 takuya@air:~/Desktop$ ruby -e 'puts ARGF.read' test.txt コーヒ・フラペチーノ 420 ダークモカチップフラペチーノ 490 抹茶クリームフラペチーノ 4

    ruby ワンライナーの使い方まとめ - それマグで!
    richard_raw
    richard_raw 2013/09/02
    AWKみたいにBEGIN, ENDも使えるんだ……。