次の場合は重複を削除する必要があります
key = anything
しかし、そうではありません
key=anything
キーも何でもかまいません
例 edit_home=homeを配置する必要があります
edit_home = home または他の文字列さえも削除する必要がありますedit_homeが重複している場合
ドキュメントのすべての行に対して
ありがとうございました
psより明確な例:
one=you are
two=we are
three_why=8908908
one = good
two = fine
three_4 = best
three_why = win
そのリストから、私は保持する必要があるだけです:
one=you are
two=we are
three_why=8908908
three_4 = best // because three_4 doesn't have a duplicate
私はそれを行う方法を見つけましたが、正規表現、プラグイン、または直接正規表現 (私にはわかりません) によるより良い検索リストのサポートが必要です。
つまり、比較するファイルが 2 つあります。
1 つには完全なキーがあり、もう 1 つには不完全なキーがあります。
新しいファイルで、最初のファイルのすべてのキーを 2 番目のファイルのキーとグループでマージします (キーはグループになっているため、たとえば、1 というタイトルの多くのキー、2 というタイトルの多くのキーなど...)。次に、新しいファイルのすべてのキーを正規表現で置き換えます
find (.*)(\s\=\s) replace with \1\=
だから彼らはすべてになるkey=anything
次に、キーを分離するために = の後のすべてを空に置き換えます。
次に、重複を削除します。
この時点で、私は次のようなことをするのに苦労しています
^.*(^keyone\b|^keytwo\b|^keythree\b).*$
必要なドキュメント内のすべてのキーを見つけるために。そのため、すべてを選択して正しいキーに置き換えることができます。
なんで?この例では、キーは 3 つしかありませんが、実際にはキーが多く、検索フィールドが特定のポイントで壊れているためです。
それを正しく行う方法は?
更新: 多くの文字列を検索できる Toolbucket プラグインを見つけましたが、もう 1 つの問題は、複製に加えて、元の文字列も削除する必要があることです。
つまり、同じキー「1」が 2 回見つかった場合、1 を含むすべての行を削除する必要があります。