私はたくさんのweb.configファイルを持っており、それぞれに次のようなデータベースへの接続文字列が含まれている可能性があります:-
<add name="MyConnectionString" connectionString="Data Source=myserver;Initial Catalog=mydb;Persist Security Info=False;User ID=myuser;Password=secret" providerName="System.Data.SqlClient" />
私がやりたいUser ID=myuser;Password=secret
のは、存在する場合はラインから外れた部分をgrepすることです。
パスワードが接続文字列の最後のプロパティであるとは想定できません。その後に他のプロパティがある可能性があります。したがって、基本的にパスワードは常に"
またはで終わります;
。
cygwinを使用すると、次のようにファイルを検索できます。-
find /cygdrive/c/inetpub/wwwroot/ -iname 'web.config' -printf '%p\0' | xargs -0 grep -i "password="
行全体ではなく、ユーザー名とパスワードのみを取得するようにgrep部分を改善するにはどうすればよいですか?
次に、それをパイプしてsort -u
、使用中のユーザー名とパスワードの一意のリストを取得できます。