grepとfindの便利な使い方

Linuxのコマンドで何かを探したりするときに使うコマンドがgrepfindです。今回はこの2つのコマンドの便利な使い方を簡単に紹介したいと思います。

grep
grepは、ある文字列を含むファイルを検出するときに使用します。
基本的な使い方は、こんな感じです。
grep (オプション) ‘検索したい文字列’ 探すファイル(ワイルドカード指定可能)
例えば、
grep ‘href’ *.html
と打つと、現在のフォルダ内にあるhrefという文字列を含む.htmlで終わるファイル一覧を表示してくれます。
grepコマンドには色々なオプションがあるので、よく使うものをいくつか紹介します。
-i アルファベットの大文字小文字を区別せずに検索する
-r 対象となるフォルダのサブフォルダも含めて再帰的に検索する
-n 対象の文字列が見つかった行番号も含めて表示する
-v 対象となる文字列が存在しない行について表示する
-A (数字) 対象となる文字列が見つかった行の後の指定した数字の行数分を表示する
-B (数字) 対象となる文字列が見つかった行の前の指定した数字の行数分を表示する
-(数字) 対象となる文字列が見つかった行の前後の指定した数字の行数分を表示する
-G 正規表現で検索する
例えば、grep -n -i -r ‘img’ *.html と打つと、Imgやimgなど、大文字小文字を区別せずに現在のフォルダおよびサブフォルダ内の.htmlで終わるファイルのImgやimgなどを含む行番号を表示してくれます。
より詳しくは、こちらを参考にしてください。

find
findはある条件を満たすファイルを探すコマンドです。
基本的な使い方は以下になります。
find (オプション)(探す場所) 対象となるファイルの条件
例えば、find app/Test.phpとタイプすると、appフォルダ内にTest.phpというファイルがあればそのファイルがあることを、なければ存在しないことを表示してくれます。
よく使うオプションをいくつか紹介します。
-name ワイルドカードを使用して、ある文字列をファイル名に含むものを全て表示します。
-type f ファイルのみを対象に検索します。
-type d フォルダのみを対象に検索します。
-exec 検索結果に対してコマンドを実行します。
応用例として、
find . -name ‘.DS_Store’ -type f -ls -delete
とタイプすると現在のフォルダおよびサブフォルダ内の.DS_Storeを全て削除してくれます。
詳しくはこちらを見てください。

grepとfindの2つのコマンドをうまく使ってどこに何があるかわからないことがないようにして、快適なLinuxライフを楽しみたいですね。

プログラマの精神衛生について

プログラマにとって(プログラマに限りませんが)、心身ともにベストに近い状態で仕事をするのが一番いいのは間違い無いでしょう。体調が悪かったり、あるいはイライラしていたり落ち込んでいたりするとどうしても作業も遅くなるし、ミスも多くなる。特に精神的に不安定な状態で作業をしてそこでミスが発生して、それによってさらに精神状態がより悪化するなんて最悪の悪循環です。
そこで今回は、どうすれば精神的に少しでもいい状態で仕事をできるかについて考えて見たいと思います。

一番大切なのは、自分の今の状態を客観的に把握できるようになるということです。今の状態とは精神的にどんな状態なのかというのもそうですが、現時点で抱えているタスクと心身面のコンディションを天秤にかけて、このまま進んで問題ないかということです。
ちょっと精神的に疲れているなーとか感じたら、少しだけ外に出て深呼吸するとかお水を1杯飲むなどしてリラックスすると良いでしょう。
あるいは、それでもどうしてもつらい、無理だと感じたら、(できる場合とできない場合がありますが)チームのメンバーに相談して期限を延ばしてもらうとかあるいは1日だけ休ませてもらうなどするのも1つの選択肢かもしれません。

また、特に精神的にベストでない状態で何かをしている場合は、今やっていることが本当に大丈夫なのか、普段以上に気を配ったほうがいいと思います(難しいかもしれませんが)。例えば変なバグを埋め込んでいないかとか、あるいは人に宛てたメッセージで誤解を招くようなことを書いていないかなど、それによって今の状態をさらに悪化させることにならないよう1歩立ち止まって考えるのは大切なことだと思います。

後は常日頃から自分なりに気持ちを切り替える方法を持っておくことは大事だと思います。例えば甘いものを食べるとか運動するとか、あるいは誰かと雑談するとかです。自分は以前ミスをしてすごい落ち込んでいた時にyoutubeで某議員の動画を見て大笑いして、少し気持ちが落ち着いたことがありました(苦笑)。

そんなこんなで今回はどうすればいい状態で仕事ができるかについて考えて見ました。とは言っても、今までの自分を振り返って正直必ずしも実践できていたわけではないですが(むしろイライラや落ち込みでドツボにはまったことが何度もあったので、その反省と自戒を込めて)、少しでもいい精神状態を保つ方法を日々考えて実践していきたいと思います。

Qiitaでこんな記事を見つけました。常に自分をいい状態にしておくというスキル、本当大事ですよね。