‘shell’ カテゴリーのアーカイブ

grepでハイフンから始まる文字をを検索する方法

たかはらです。今日は小ネタです。

早速ですが質問をさせて下さい。

UNIXのよくつかうコマンドgrep-hogeという文字列を検索したい場合どのようにしますか?

例えば以下のようにしてしまうとどうなるでしょうか?

grep -hoge fuga.txt

この実行結果は以下のようになります。

grep-hyphen.png

残念ながら以下の2案も同じ結果です。

かこってみたり…

grep "-hoge" fuga.txt

エスケープしてみたり…

grep \-hoge fuga.txt

いずれの場合も-hogeがコマンドの引数ではなくオプションとして扱われてしまっていますね。それじゃどうすれば良いのでしょうか?答えを知りたい方は続きをどうぞ!

(続きを読む…)

rsyncでアプリケーションを配備

こんにちは、たかはらです。10月になって急に涼しくなってきましたね。私は一年半前からMacのPowerBook G4をつかっています。G4の発熱に加えた今年の夏の暑さは本当に厳しいものがありましたが、最近は涼しくなってずいぶん楽になりました。

私は、ほとんどのソースコードをこのPowerBook G4で書いています。このPowerBook G4からサーバへのアプリケーションの転送(配備:deploy)にはrsyncを利用しています。(少々強引な前フリですが)今日はrsyncをつかったデプロイについてのちょっとした工夫をご紹介します。

rsync-deploy.png

(続きを読む…)

5タイプで直前のディレクトリに戻る方法

こんにちは、hnwです。今週は月曜から土曜まで皆勤6カレーです。

さて、今回はTIPS的な短い記事です。

シェル上で下記のようにタイプすると、カレントディレクトリの直前までいたディレクトリに移動することができます。

 $ cd -

シェルの機能として昔からある機能なのですが、社内でも案外知らない人がいました。

この機能の使いどころですが、深いディレクトリで作業中に「cd foo」でディレクトリを移動しようと思ったらなぜか手が滑って「cd」と打ってホームディレクトリに戻ってしまった!あの長いパスを再度打つなんてTABの補完があっても耐えられない!というときに活躍します。

こんな最悪な状況からEnterを含め5タイプで元のディレクトリに戻れちゃうわけですから、知っているか知らないかでは大きな差です。明日からバンバン使って精神的に楽になりましょう!

シェルの操作にAltキーを使おう

ご挨拶が遅くなってしまいましたが、はじめまして、hnwです。社内ではカレー部と酒飲み部に所属しています。

さて、今回はシェルでコマンド入力などの操作をする際に、Emacsライクなキーバインディングを知っていると効率が断然違いますよ、という話題です。

業務でプログラミングをする際によく言われることは、「できるだけ自分で書くな」ということです。無駄に分岐させたり、似たコードをコピー&ペーストで大量生産したりしてコードを増やすことは、バグを産む候補が増えるということであり、テストケースも増えてしまいます。できるだけプログラマがコードを書かずに済むような言語やライブラリやフレームワークほど優れていると言えるのではないでしょうか(もちろん他にも判断基準はありますが、重要な要素の一つでしょう)。

同様に、シェルでの操作の際には「できるだけタイプ数を減らす」ことがミスを防ぐ重要な要素の一つだと私は考えています。タイプ数が多ければ多いほど編集操作に集中力が必要になります。具体的には、ミスタイプに気づいて左右キーで間違えた場所に戻るような場合に、左右キーを押しつづけてカーソルが望んだ場所まで移動したのを確認してから指を離す、といった操作は無駄な集中力を使っていると私は感じます。

(続きを読む…)