このファイルには約 1000 の重複したフレーズがあるので、これを手動で行うことはできません。これらは句であり、行や単語ではなく、各「句」の長さは約 10 行であることに注意してください。
重複したフレーズを取り除こうとしていますが、「項目」(またはフレーズ) を重複させる唯一のものは位置構文です。例えば:
class Item0
{
position[]={4347.6001,0,3214.6399};
azimut=128.81599;
special="NONE";
id=1;
side="EMPTY";
vehicle="Land_fortified_nest_small";
lock="UNLOCKED";
skill=0.2;
init="this setPos [4347.6, 3214.64, 0]; this setDir 128.816;";
};
class Item1
{
position[]={4347.6001,0,3214.6399};
azimut=128.81599;
special="NONE";
id=2;
side="EMPTY";
vehicle="Land_fortified_nest_small";
lock="UNLOCKED";
skill=0.2;
init="this setPos [4347.6, 3214.64, 0]; this setDir 128.816;";
};
前の 2 つのフレーズは重複していますが、ID と ITEM 番号が異なるため、重複したフレーズを識別する唯一の方法は、position[]={} パラメーターを使用することです。2 つのフレーズが同じ位置にある場合、これら 2 つのフレーズは ID や ITEM# に関係なく重複しています。
したがって、私の目標は、ある種のコード、スクリプト、プログラム、または正規表現を使用してすべての重複フレーズを削除し、最初の重複フレーズはそのままにすることです。したがって、重複が 3 つある場合は、1 つのフレーズが残りますが、2 つのフレーズは削除されます。どうすればこれを行うことができますか?
望ましい入出力の例:
入力:
class Item0
{
position[]={4347.6001,0,3214.6399};
azimut=128.81599;
special="NONE";
id=1;
side="EMPTY";
vehicle="Land_fortified_nest_small";
lock="UNLOCKED";
skill=0.2;
init="this setPos [4347.6, 3214.64, 0]; this setDir 128.816;";
};
class Item1
{
position[]={4682.6001,0,3847.6399};
azimut=128.81599;
special="NONE";
id=2;
side="EMPTY";
vehicle="Land_fortified_nest_small";
lock="UNLOCKED";
skill=0.2;
init="this setPos [4682.6, 3847.64, 0]; this setDir 128.816;";
};
class Item2
{
position[]={4347.6001,0,3214.6399};
azimut=128.81599;
special="NONE";
id=3;
side="EMPTY";
vehicle="Land_fortified_nest_small";
lock="UNLOCKED";
skill=0.2;
init="this setPos [4347.6, 3214.64, 0]; this setDir 128.816;";
};
出力:
class Item0
{
position[]={4347.6001,0,3214.6399};
azimut=128.81599;
special="NONE";
id=1;
side="EMPTY";
vehicle="Land_fortified_nest_small";
lock="UNLOCKED";
skill=0.2;
init="this setPos [4347.6, 3214.64, 0]; this setDir 128.816;";
};
class Item1
{
position[]={4682.6001,0,3847.6399};
azimut=128.81599;
special="NONE";
id=2;
side="EMPTY";
vehicle="Land_fortified_nest_small";
lock="UNLOCKED";
skill=0.2;
init="this setPos [4682.6, 3847.64, 0]; this setDir 128.816;";
};