Готовый скрипт на перенос спойла в дроп

YourMirror

Vagabond
Customer
может кому пригодится.
кидаете в папку npc
запускается на линуксе .sh файл

#!/bin/bash

for file in *.xml; do
awk '
BEGIN {
inside_npc = 0
inside_sweep = 0
in_rated_grouped = 0
in_not_rated_grouped = 0
sweep_buffer = ""
}
/<npc / {
inside_npc = 1
}
/<\/npc>/ {
if (sweep_buffer != "") {
if (in_rated_grouped || in_not_rated_grouped) {
print sweep_buffer
} else {
print " <rewardlist type=\"NOT_RATED_GROUPED\">"
print sweep_buffer
print " </rewardlist>"
}
sweep_buffer = ""
}
inside_npc = 0
}
/<rewardlist type="SWEEP">/ {
if (inside_npc) {
inside_sweep = 1
next
}
}
/<\/rewardlist>/ && inside_sweep {
inside_sweep = 0
next
}
/<rewardlist type="RATED_GROUPED">/ && inside_npc {
in_rated_grouped = 1
print
next
}
/<\/rewardlist>/ && in_rated_grouped {
if (sweep_buffer != "") {
print sweep_buffer
sweep_buffer = ""
}
in_rated_grouped = 0
}
/<rewardlist type="NOT_RATED_GROUPED">/ && inside_npc {
in_not_rated_grouped = 1
print
next
}
/<\/rewardlist>/ && in_not_rated_grouped {
if (sweep_buffer != "") {
print sweep_buffer
sweep_buffer = ""
}
in_not_rated_grouped = 0
}
/<reward / && inside_sweep {
sweep_buffer = sweep_buffer " <group chance=\"100.\">\n " $0 "\n </group>\n"
next
}
{
if (!inside_sweep) print
}' "$file" > temp && mv temp "$file"
done
 
делал для себя и просто решил поделиться)
Я про результат, «перенос спойла в дроп»
Пс.
Ааа все понял) что тут) я не про то подумал сначало)))
 
Back
Top