![]() |
Копирование строки с условием
Приветствую!
Возможно создать скрипт, при запуске которого сканировалась каждая строка файла xml или txt и если в строке есть определенная часть (например <text> или <desc>), то скопировать данную строку целиком в отдельный фаил. Если в строке данной части нет, то сделать отступ. Желательно запускать .BAT или подсказать, как можно запускать решение. Возможно такое? Фаил и пример https://ibb.co/mXTQhrB |
или же наоборот, удалить все записи в строке (сделать ее пустой) если в тексте нет <text> или <desc>. Так наверно будет попроще
|
Выкладывать текстовый пример как картинку - это круто, но не могли бы вы выложить всё-таки текст?
|
Вложений: 2
Прикрепляю файл и пример
|
Zoidman, если есть желание получить помощь, то необходимо описать задачу полностью, причем с полными примерами (если есть конфиденциальная информация, то её можно изменить), а не вырезанные части файла ... Возможно, способ, которым Вы желаете её решить, не является правильным и тогда, опять же, возможно, Вам подскажут как её лучше решить...
|
"Батник"
Код:
powershell -command "(gc C:\temp\1.txt |% {if ($_ -match '<(name|desc)>') {$_ -replace '</?(name|desc)>'} else {$_ -replace '.*'}}) > C:\temp\2.txt" |
DJ Mogarych, это хоть и обрезанный, но xml же... в нем понятие "строка" весьма условно. Надо работать с тегами...
|
YuS_2, это должен сначала понять автор темы. Пока это ему не нужно.
|
Вложений: 1
Прикладываю изначальный фаил. Я бы хотел вытащить английский текст для перевода (таких файлов много) и у них разные рамки, встречаются <tooltip>, <type> и тд. хотел самый простой вариант, который позволит задать свои теги под каждый фаил. После заменить измененные строки (через excel меняется легко)
|
Этот XML неканоничный, у него отсутствует корневой элемент, нормально импортируется в Powershell только если добавить тэг:
Код:
<?xml version="1.0" encoding="UTF-8"?> Есть варианты менее кривые: связаться с разработчиками и предложить им перевод, может, у них есть нормальный инструмент для локализации. Либо существует какая-то сторонняя программа для перевода. |
жаль, я хотел знакомому оптимальный вариант скинуть, что бы у него проблем не было.
|
Цитата:
|
Цитата:
В первом приближении: Powershell: Добавление тегов: script_addtag.ps1 Код:
param ( script.ps1 Код:
param ( Скрипты можно запускать с параметрами. Например: Код:
.\script_addtag.ps1 -path 'D:\XML' |
Время: 23:51. |
Время: 23:51.
© OSzone.net 2001-