タグ

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

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

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

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

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

    bashのプロセス置換機能を活用して、シェル作業やスクリプト書きを効率化する - 双六工場日誌
    yuiseki
    yuiseki 2013/08/16
  • パスワードを擬人化して覚えやすくしてみた。 - 双六工場日誌

    最近パスワードが何者かに持ち出されるなど、定期的なパスワードの変更が求められるような機会が多くなっています。 そんな中、今から約1ヶ月前。Twitterタイムライン上で、次のような画期的な提案が発表されました。 先輩「暗証番号やパスワードには嫁の誕生日を使うのがいい」僕「なんでですか?」先輩「3ヶ月ごとに変わって安全だから」僕「先週も最終回ありましたしね」 2011-04-24 13:32:44 via web 僕もこれに感銘し、これまで「hogehoge」だったパスワードを「homuhomu」に変更*1。これですべてが上手くいったと思っていました。 しかし、マイクロソフトさんのパスワードチェッカで確認したところ。 ほむほむ弱い子……orz しかし、同じページにはそんな僕へのアドバイスがありました。 強力なパスワードをつくるために、「覚えられる文章を考えます。」と。 ということで文章化。

    yuiseki
    yuiseki 2011/06/08
  • 1