開発者であればGrepのお世話になることが非常に多いはずです。しかしただ文字列を検索するだけで、細かい部分は正規表現などを使って書かなければなりません。また、探し出した後の編集はエディタで行うことになります。 そこで使ってみたいのがGraspです。JavaScriptに特化した、構造を解釈できる検索コマンドです。 Graspの使い方 例えば正規表現が使えます。以下は && が使われている場合。 $ grasp 'if.test[op=&&]' a.js 2: if (x && f(x)) { return [1, 2]; } 5: if (xs.length && ys.length) { 10: if (x == 3 && list[x]) { さらに replace オプションで文字の置換もできます。 $ grasp bi --replace '{{.r}}+{{.l}}' c.js
![Grasp - JavaScriptの構造を解釈した検索/置換コマンド MOONGIFT](https://cdn-ak-scissors.b.st-hatena.com/image/square/5b77db804c69b51b3167dd1e1ade43bf4e33b573/height=288;version=1;width=512/https%3A%2F%2Fmoongift-assets.s3.amazonaws.com%2Fassets%2Fnone-c3f80f5acd8206a735bb12db1e77cb6d.png)