res.dat
変更する必要のあるデータを含む大容量ファイルがあります。すべてのデータは1行にあります。
たとえば、
L1TRAIN="200" NEEDL2="14" L2TRAIN="300" NEEDL3="16" L3TRAIN="400" NEEDL4="99" L4TRAIN="600" NEEDL5="99" L5TRAIN="900" DELAY="60" COOLTIME="0" KORNAME="화염풍" SKILLTYPE="0" TOOLTIP="A defensive spell that allows you to push away enemies of lower level. This spell has a fixed chance for success. The range of the spell and chance of success increase with training." /><VALUE MAGID="9" MAGNAME="Lavastrike" TYPE="0" EFFECTTYPE="5" EFFECT="7" SPELL="11" POWER="14" MAXPOWER="18" DEFSPELL="15" DEFPOWER="12" DEFMAXPOWER="16" JOB="1" PHASE="0" NEEDL1="20" L1TRAIN="500" NEEDL2="22" L2TRAIN="600" NEEDL3="24" L3TRAIN="700" NEEDL4="99" L4TRAIN="900" NEEDL5="99" L5TRAIN="1200" DELAY="80" COOLTIME="0" KORNAME="염사장" SKILLTYPE="0" TOOLTIP="A spell that shoots out line of fire along the ground, damaging all enemies caught within the fire. Its damage increases with training." /><VALUE MAGID="10" MAGNAME="LightningBeam" TYPE="2" EFFECTTYPE="6" EFFECT="8" SPELL="12" POWER="14" MAXPOWER="14" DEFSPELL="15" DEFPOWER="12" DEFMAXPOWER="16" JOB="1" PHASE="0" NEEDL1="21" L1TRAIN="500" NEEDL2="23" L2TRAIN="600" NEEDL3="25" L3TRAIN="700" NEEDL4="99" L4TRAIN="900" NEEDL5="99" L5TRAIN="1200" DELAY="80" COOLTIME="0" KORNAME="뢰인장" SKILLTYPE="0"
L1TRAIN
、、、および二重引用符内のデータを見つけて変更する必要があるペイロードで、すべて1行に更新するスクリプトを実行する必要がL2TRAIN
あります。L3TRAIN
L4TRAIN
L5TRAIN
L1TRAIN="100" L2TRAIN="200" L3TRAIN="300" L4TRAIN="400" L5TRAIN="500"
この例の出力は次のようになります。
L1TRAIN="100" NEEDL2="14" L2TRAIN="200" NEEDL3="16" L3TRAIN="300" NEEDL4="99" L4TRAIN="400" NEEDL5="99" L5TRAIN="500" DELAY="60" COOLTIME="0" KORNAME="화염풍" SKILLTYPE="0" TOOLTIP="A defensive spell that allows you to push away enemies of lower level. This spell has a fixed chance for success. The range of the spell and chance of success increase with training." /><VALUE MAGID="9" MAGNAME="Lavastrike" TYPE="0" EFFECTTYPE="5" EFFECT="7" SPELL="11" POWER="14" MAXPOWER="18" DEFSPELL="15" DEFPOWER="12" DEFMAXPOWER="16" JOB="1" PHASE="0" NEEDL1="20" L1TRAIN="100" NEEDL2="22" L2TRAIN="200" NEEDL3="24" L3TRAIN="300" NEEDL4="99" L4TRAIN="400" NEEDL5="99" L5TRAIN="500" DELAY="80" COOLTIME="0" KORNAME="염사장" SKILLTYPE="0" TOOLTIP="A spell that shoots out line of fire along the ground, damaging all enemies caught within the fire. Its damage increases with training." /><VALUE MAGID="10" MAGNAME="LightningBeam" TYPE="2" EFFECTTYPE="6" EFFECT="8" SPELL="12" POWER="14" MAXPOWER="14" DEFSPELL="15" DEFPOWER="12" DEFMAXPOWER="16" JOB="1" PHASE="0" NEEDL1="21" L1TRAIN="100" NEEDL2="23" L2TRAIN="200" NEEDL3="25" L3TRAIN="300" NEEDL4="99" L4TRAIN="400" NEEDL5="99" L5TRAIN="500" DELAY="80" COOLTIME="0" KORNAME="뢰인장" SKILLTYPE="0"
答え1
1つの方法は次のとおりですsed
。
sed 's/\(L\([1-5]\)TRAIN="\)[^"]*/\1\200/g' res.dat
これは、グループ化と逆参照を使用して次の項目を置き換えます。
エルNtrain = "何でも_除外_二重_引用符
そして
エルNトレーニング=N00
どこN1
との間の数字です5
。