メールに対する jq みたいなやつ……というと強力すぎるけど、そういう感じにメールを入力に受け取って何かしらの処理をした上で出力してくれるツールです。ここでいうメールとは MIME 形式のメール全体。Gmail なら "Show original" で見られるようなもの。 結局ターミナルでメールを読むことにした に書いたとおり最近はターミナルでメールを読むようになりそこそこ快適なんだけど、メールとの接し方がプログラマブルになったからには楽をしたい。だいたい通知のメールのこの部分をクリックするだけ(そして承認したりコメントしたりする)、みたいなパターンが決まってるものには DWIM(do what I mean)的にキー入力一発で対応したいわけです。それをやるためのツールとして書いた。珍しく名前を気に入ってる。 GitHub - motemen/letterknife 使い方 $ cat <
Perl Hackers Hub 第45回Perlで作るコマンドラインツール―オプション、サブコマンド、設定ファイルへの対応(1) 本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはふしはらかんさんで、テーマは「Perlで作るコマンドラインツール」です。 本稿のサンプルコードは、本誌サポートサイトから入手できます。 コマンドラインツールを作ろう 本連載を読まれているみなさんは、コマンドラインツールを使ったことのある人がほとんどかと思います。また、コマンドラインツールを作ったことのある人も多いでしょう。Perlはほとんどの環境に標準で導入されていて、強力なテキスト処理を備えていることもあり、シェルスクリプトで書くのはしんどいかなという程度のものから、かなり複雑で高負荷な処理を要するものまで、幅広くコマンドラインツールの記述に使われています。 今回は、コマンドライ
« Ruby の a = a + 1 はなぜ undefined method '+' for nil:NilClass なのか | Main | Ruby の Array#<< は Array#push よりも速いか » 僕は日々 memolist.vim という Vim plugin を使い、仕事で思いついた疑問点や会話の一部をメモ取りする様にしています。相手と会話している最中に「あ、ここ大事だ」と思ったら vim を起動して :MemoNew してメモを編集していました。もちろん Vim ですから起動は抜群に速くてとてもご機嫌良く動くのですが、どうしてもこれをシェルから扱いたいという要求に負けてささっと作ってみました。 GitHub - mattn/memo: Memo Life For You README.md memo Memo Life For You Usage NAME:
データ分析における一連の作業(データ収集、データクレンジング、モデリング)をコマンドラインで自由自在に進めるための考え方やツールの使い方を解説します。データの多様化、大規模化に伴い効率的にデータ分析を行う上でコマンドラインツールはかかせません。本書では、データ分析作業における各フェーズでのコマンドラインツールの使い方から、効率化のためのワークフローの管理や並列処理などまでを幅広く紹介します。 日本語版では監訳者による本書のテクニックを利用する時に壁になるであろう「日本語処理」と、実務で利用する場合の「ケーススタディ」を収録。エンジニアのみならず、データ分析に携わる全ての方に必携の一冊です。 監訳者まえがき はじめに 1章 イントロダクション 1.1 概要 1.2 データサイエンスはOSEMN 1.2.1 データの獲得 1.2.2 データのクレンジング 1.2.3 データの精査 1.2.4
headやgrepなど基本的なコマンドから、CSVのためのcsvtoolやJSONを扱うjqコマンドまで、テキストデータを処理する時に使う各種ツールを例とともに解説する。 RやPythonのような成熟したコンピューティング環境は、詳しくデータを分析するのには素晴らしいものだ。しかし、素早くシンプルにデータの調査や捜査をしたいときには、UNIXのコマンドラインツールはものすごく効率的だ。この記事では、自分で見つけ日々使っているいくつかのツールに光を当ててみようと思う。新しいツールをあなたのレパートリーに加えられたらうれしい。 ファイルをのぞき見る( head tail less ) NASAのサンプルWebログデータをダウンロードするところから始めよう。 $ wget ftp://ita.ee.lbl.gov/traces/NASA_access_log_Jul95.gz ダウンロードされた
コマンドラインで素早い操作ができるのは、優れたエンジニアの資質の一つとも言える。そのためのテクニックを集めた珠玉のコマンド集。 原文のコミット bb0c38c0899339e836c37eead4a9534b06c56662 The Art of Command Line メタ情報 基本 日常的に使うもの ファイルとデータの処理 システムのデバッグ ワンライナー 目立たないが便利なもの さらなるリソース 免責事項 コマンドラインで流れるように操作ができるということは、軽く見られたり他人から理解されないスキルだとみなされることもあるでしょう。しかしそのスキルは、明らかにかすぐ分かるようかは問わず、エンジニアとしてのあなたの柔軟性や生産性を改善してくれるものです。ここでは、Linuxでコマンドラインを使う上で便利だと思ったメモやTipsの数々を挙げてみます。あるものは基礎的ですが、非常に詳しい
コマンドラインツールについて語るときに僕の語ること - YAPC::Asia Tokyo 2014 コマンドラインツールが好きで昔からつくってきた. 今年のYAPCで,そのコマンドラインツールをつくるときにどういうことを意識して作っているのか?どのような流れで開発しているのか?といったことを語る機会をもらえた. 具体的な内容については,是非トークを聴きに来てもらうとして, スライドをつくるにあったって過去に読んだ資料や,よく参考にしている記事を集め直したので,その一部を参考資料としてまとめておく. UNIXという考え方 UNIXという考え方 Mike GancarzによるUNIXの思想や哲学をまとめた本.古いが全然色あせてない. コマンドラインツールの作り方を書いた本ではないが,これらの思想の上で動くツールはこの思想に準拠して作られるべきだと思う.何度も読んで考え方を染み付かせた. 小さい
argument コマンドには,オプション以外に argument(引数)を与えることができます.$ head foo.txt と入力すると,foo.txt の冒頭の一部だけが出力されます.ここでの foo.txt のようにコマンド自体に与える引数を argument(引数)と言います.argument としてはファイルへのパスや文字列を与えることが多いでしょう. たとえば次の例では,sed コマンドの一番目の引数に文字列,二番目の引数にファイルへのパスを与えています:$ sed 's/foo/baa/g' baz.txt.引数を与える順番はコマンドにより指定されています. コマンドの使い方を調べる オプションや引数の与え方をはどのように調べれば良いのでしょうか.ここでは --help オプションや man コマンドを紹介します. ※何かを新しく学ぶとき,まずはじめに「困ったときにどのよう
CLI(Command-line Interface)ツールが好きで自分でもよく作るし,よく使っている.最近は高速で,かつクロスコンパイルが容易な Go 言語がその開発に使われることが多いようだ.実際に筆者も拙劣ながら Go 言語で何個かリリースしている. b4b4r07/gch b4b4r07/goal b4b4r07/gomi CLI ツールの歴史はとても長く,過去たくさんの素晴らしい資産と独自の哲学がある.現代にいきる我々も当然その思想に従うべきで,CLI ツールを作るならその哲学を踏襲するのが常識だ. UNIX 哲学 Small is beautiful. Make each program do one thing well. Build a prototype as soon as possible. Choose portability over efficiency.
高速にGo言語のCLIツールをつくるcli-initというツールをつくった tcnkms/cli-init・GitHub cli-initを使えば,Go言語コマンドラインツール作成時のお決まりパターンをテンプレートとして自動生成し,コア機能の記述に集中することができる. デモ 以下は簡単な動作例. 上のデモでは,addとlist,deleteというサブコマンドをもつtodoアプリケーションを生成している.生成結果は,tcnksm/sample-cli-initにある. 背景 Go言語で作られたコマンドラインツールを見ていると,codegangsta/cliというパッケージがよく使われている. これは,コマンドラインツールのインターフェースを定義するためのライブラリで,これを使えば,サブコマンドをもつコマンドラインツールを簡単につくることができる(Usageを自動で生成してくれたり,bash
よく訓練されたアップル信者、都元です。最近社内のメンバーがみんなGo言語の世界で楽しそうなので、私も混ざってみることにしました。最初のセットアップや基礎文法等は、私も平行して急いで学ぶGo langシリーズで勉強中です。 コマンドラインツールが作りたい と思っています。ちょっとしたものを作るとしたらPythonなのかな、と思って友達のPythonistaにインタビューをしたところ、「ちょっとしたツール作るとかって用途の人は Golangに移行した(えっ」という衝撃的なコメントを貰い、もうこの際だからGo勉強すっかという空気になった次第。 具体的な環境構築 基本的には急いで学ぶGo langシリーズを読めばいいのですが、一点迷ったのがディレクトリ構成です。 Go言語で幸せになれる10のテクニックでは「GOPATHは一つだけ (Use a single GOPATH)」という指針が紹介されてい
この記事ははてなエンジニアアドベントカレンダー2014の8日目です。 今回は、Go言語でサーバ管理ツール Mackerel のコマンドラインツールmkr を作るときに調べたこと、考えたこと、やったことについて紹介します。(mkr は現時点では開発版での提供になります。) コマンドラインツールについて コマンドラインツールを作るにあたって、@deeeet さんの YAPC Asia 2014 での発表資料が非常に参考になります。 書籍 UNIXという考え方ーその思想と哲学 の内容をベースに、コマンドラインツールはどうあるべきかということが丁寧に説明されています。 上記資料から引用させていただくと、コマンドラインツールにおいて重要なポイントは以下の7つであるとされています。 1つのことに集中している 直感的に使える 他のツールと連携できる 利用を助けてくれる 適切なデフォルト値を持ち設定もでき
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く