タグ

ブックマーク / sechiro.hatenablog.com (4)

  • シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌

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

    シェルスクリプトの中で1行ずつ変数を分割する際には、cutとかawkとか余計なプロセスを起動せずsetを使って分割した方が効率的 - 双六工場日誌
  • bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌

    @hirose31 さんが「シェルスクリプトでハマった件→【募】ステキな回避方法」でお題を出されていて、それに回答してみました。 その内容はリンク先を見てもらうとして、回答の中で使ったbashのプロセス置換について書かれた記事をあまり見ないので、回答で使ったプロセス置換のことをエントリにしてみたいと思います。 最初に注意点ですが、プロセス置換の機能は、bashやzsh*1の機能でPOSIX互換の機能ではありません。そのため、使用時には、対応していないシェルでは使えませんし、bashで使う場合も /bin/sh ではなく /bin/bash を明示的に指定する必要があります。たとえば、プロセス置換を使ったスクリプト「script.sh」に対して"$ bash script.sh" というコマンドは成功しますが、"$ sh script.sh" というコマンドは失敗します。この辺りの違いは「/

    bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌
    seapig_dolphin
    seapig_dolphin 2014/07/17
    あとでじっくり
  • ps のオプションについてのメモ書き - 双六工場日誌

    psで使うオプションについてつらつら調べたので、メモ。 psのオプションには、UNIXオプション(ハイフンで始まるもの)とBSDオプション(ハイフンを付けないもの)の2つの流派があり、それに加えてGNU psではハイフン2つで始まるロングオプションが使える。 このバージョンの ps が受け付けるオプションにはいくつかの種類がある。 1 UNIX オプション。まとめることが可能で、前にはダッシュを置かなければならない。 2 BSD オプション。まとめることが可能で、ダッシュを使ってはならない。 3 GNU ロングオプション。前に二つのダッシュを置く。 man ps より おそらく一番メジャーなのは、「ps -ef」(UNIXオプション)と「ps aux」(BSDオプション) それぞれの出力例は以下の通り。 $ ps -ef UID PID PPID C STIME TTY TIME CMD

    ps のオプションについてのメモ書き - 双六工場日誌
    seapig_dolphin
    seapig_dolphin 2014/07/03
    重要
  • 噂の婚活githubリポジトリのboyfriend_requireを真剣に検討してみた - 双六工場日誌

    今日、Twitterをちらちら眺めていたら、github婚活をしている女子がいるとの情報を発見。 https://github.com/norinori2222/boyfriend_require 最近、周りも色気づいてきて結婚が気になる昨今、女子からの要望にどこまで自分が答えられるか探るべく、githubで公開されている「boyfriend_require」の項目をちゃんと考えてみました。結局、要求にはとどかず、pull requestも送れませんでしたが、せっかくなのでブログに載せます。 要求項目と回答 1.たばこを吸わない人(必須) ○ 2.アルコールを飲んでも性格が変わらない人(必須) ○ 3.中学、高校、大学時代の友人と現在も交流が続いている人が5人以上いる人 (Facebookを含む) ○ 4.職場並びに仕事関係者以外で1年以上付き合いのある友人が20人以上いる人(Faceb

    噂の婚活githubリポジトリのboyfriend_requireを真剣に検討してみた - 双六工場日誌
    seapig_dolphin
    seapig_dolphin 2012/11/10
    rspec追加されてて吹いたww
  • 1