私の意図:トラフのソースコードを検索し、興味のあるキーワードを見つけてください。これは、ハードコードされたキーやパスワードのような明白なプログラミングエラーを見つけるために、codereviewの小さな部分を自動化するために行われます。
私は現在、特定の単語のためのトラフコードを検索するには、次のgrepコマンドを持っている:実際のgrep出力が処理される前に、一致する単語を出力してください
while read p; do
echo "FOUND: ${p}"
grep -riIn -A 5 -B 5 ${p} "${SEARCHPATH}"
done < "${SEARCHWORDS}"
SEARCHWORDS
は、実際にsearchwordsを含むリストを使用してファイルの場所です。 SEARCHPATH
がいるのgrepで検索するフォルダです が生成する出力は次の通りである:。
xo.java-33- default:
xo.java-34- return str;
xo.java-35- case -4501:
xo.java-36- return "Internal error";
xo.java-37- case -4502:
xo.java:38: return "Activation password too long. Limited to 512 characters.";
xo.java-39- case -4503:
xo.java-40- return "CHS key null or empty. Must be a 32 hexadecimal string.";
xo.java-41- case -4504:
xo.java-42- return "Incorrect CHS key length. Must be a 32 hexadecimal string.";
xo.java-43- case -4505:
が、それはまた、上記および以下の行を与え、これは私にいくつかのコンテキストを与えるためにしてかどうかを確認しますそれは偽陽性です。 しかし、私は次のような出力を持っているしたいと思います:
Found "password" in file "xo.java":
xo.java-33- default:
xo.java-34- return str;
xo.java-35- case -4501:
xo.java-36- return "Internal error";
xo.java-37- case -4502:
xo.java:38: return "Activation password too long. Limited to 512 characters.";
xo.java-39- case -4503:
xo.java-40- return "CHS key null or empty. Must be a 32 hexadecimal string.";
xo.java-41- case -4504:
xo.java-42- return "Incorrect CHS key length. Must be a 32 hexadecimal string.";
xo.java-43- case -4505:
が、私はそう、すべてのインスタンスは、種類の彼らの見つけたキーワードと一緒にグループ化され、その上に見つかった検索語をしたいです。
他のツールに関するご意見がありましたら、お気軽にご連絡ください。コマンドack
を試しましたが、私がここで説明するように結果を達成できませんでした。
キーワードの色付けは十分ではありませんか?あなたの出力をファイルにパイプしていて、色がオフの場合でも '--color = always'で強制的に' less -R'でファイルを見ることができます。 – randomir