私は基本的にワードリストファイルをとり、それが含むすべての行を別のリストと照合して、一致しない行を "uniques.txt"に出力するスクリプトをbashで作成しました。私は、これは非常にリソース集約的で、多くの時間がかかることがわかりました。私はコンピューターサイエンティストでもエンジニアでもないので、金属で何が起こっているのか本当に分かっていません。この問題のために "C"が偉大な言語であると聞きました...コードの一部:Bashスクリプトがリソースを大量に使用する
if [[ "$1" =~ ^\-i(.*)+$ ]]; then
echo "[*] Testing lines in \""$2"\" against \""$3"\"..."
for string in $(cat "$2"); do
if ! cat "$3" | grep -x "$string" &>/dev/null; then
echo "$string" >> uniques.txt
fi
done
fi
このスクリプトの使用例は、 "$ script" -i "$ wordlist" "$ wordlist_to check_against"です。あなたが反対$ 1と一致する正規表現は意味をなさない
johnson
peter
newyork
amsterdam
は、ヘッドアップをありがとうございました。引用符をエスケープして、スクリプトの実行中に実際に表示しました。私は変数の周りにそれを置くだけで、それは文字列を考慮しないだろうか? – Dantalion
私のスニペットは、スクリプト実行中に変数を二重引用符で囲んだままで表示する方法を示しています。 – choroba
"grep -vxf"はうまくいきませんでした。 "grep:$ file(チェックしません):$ line:Unmatched [または[^" – Dantalion