1
我的意圖:搜索谷底源代碼並找到感興趣的關鍵字。這是爲了自動化一小部分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 less查看該文件。 – randomir