パスワードを忘れた? アカウント作成
171964 journal

etsavの日記: grepsrc.sh

日記 by etsav

#! /bin/sh

# いろいろわけあって拡張子が統一されてないプロジェクトのやたらと深いディ
# レクトリ階層を再帰的にたどって C/C++ のヘッダ/ソースファイルの中身を検
# 索するのに find だけだともう見辛くてしょうがないので sed でエスケープシー
# ケンスをてきとに埋め込むやっつけスクリプトなので他の環境で動くかどうか
# なんてあたしの知ったこっちゃないのでありました。

echo
find . -type f \
    \( \
        -name \*.h -o -name \*.hh  -o -name \*.hpp -o \
        -name \*.H -o -name \*.hxx -o -name \*.h++ -o \
        -name \*.c -o -name \*.cc  -o -name \*.cpp -o \
        -name \*.C -o -name \*.cxx -o -name \*.c++ \
    \) \
    -exec grep -n -C3 $1 {} \; -print -exec echo \; \
| sed "/^[0-9][0-9]*:/{s/$1/\x1b[1m&\x1b[0m/g}
       /^[^0-9]/{s/^.*$/\x1b[31m&\x1b[0m/}"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

日本発のオープンソースソフトウェアは42件 -- ある官僚

読み込み中...