А всё это дело через вывод в файл > делается? Или можно исходный файл сразу отредактировать?
да...
может если раскурить ман, то может у утилитки и есть ключик типа sed'овского -i...
Настоятельно просим вас при общении соблюдать Правила форума и законы РФ. Наша тематика вне политики, поэтому воздержитесь от обсуждения ситуации на Украине и связанных с ней событий, независимо от того, какую сторону вы поддерживаете.
Также напоминаем, что наш форум находится в доменной зоне .ru, физически расположен на российских серверах и мы соблюдаем действующее законодательство России. Любые сообщения о политике будут удаляться.
Linux Forum → Работа в командной строке → <XML>
Чтобы отправить ответ, вы должны войти или зарегистрироваться
А всё это дело через вывод в файл > делается? Или можно исходный файл сразу отредактировать?
да...
может если раскурить ман, то может у утилитки и есть ключик типа sed'овского -i...
А всё это дело через вывод в файл > делается? Или можно исходный файл сразу отредактировать?
Если нужно исходный редактировать, могу свой скрипт подправить. Он заработал?
Если нужно исходный редактировать, могу свой скрипт подправить. Он заработал?
Да, работает! Давай!
Уточню тогда, ещё важно <obj class="UPoint" name="Size" ID="182564128"> указывать, потому что obj могут дважды в блоке находится.
Пример ещё
<Defaults>
<list name="Entries" type="list">
<item>
<string name="Group" value="PArrangeWindow"/>
<member name="Values">
<int name="Show Inspector" value="1"/>
<obj class="UPoint" name="Size" ID="182564128">
<int name="H" value="1440"/>
<int name="V" value="848"/>
</obj>
<int name="Snap Mode" value="0"/>
</member>
</item>
</list>
</Defaults>Я понял, xpars.exe это скампилированный скрипт у вас, верно же? 
Интересно, я тогда хочу поставить питон и сам такие писать)
Только надо посмотреть насколько это практически полезно.
Уточню тогда, ещё важно <obj class="UPoint" name="Size" ID="182564128"> указывать, потому что obj могут дважды в блоке находится.
Опять не понятно, в предыдущем примере значение name="Location"
Уточните критерии.
<item>
<string name="Group" value="TransportWindow"/>
<member name="Values">
<obj class="UPoint" name="Location" ID="215319288">
<int name="H" value="321"/>
<int name="V" value="690"/>
</obj>
</member>
</item>
Я понял, xpars.exe это скомпилированный скрипт у вас, верно же?
Скорее, это скрипт и интерпретатор, упакованные в exe.
Опять не понятно, в предыдущем примере значение name="Location"
У меня просто XML большой и там много блоков разных, меня питон уже больше теоретически заинтересовал.
Практически XMLStarlet пойдёт.
может если раскурить ман, то может у утилитки и есть ключик типа sed'овского -i...
Вот это было бы оочень здорово!
Скорее, это скрипт и интерпретатор, упакованные в exe.
Если не трудно напиши любой пример, я просто погоняю по XML сам поучусь.
Только с перезаписью XML
xml.exe хорош тем что можно находу применять в любой ситуации, однако плохо что его вызывать нужно, да ещё и с копированием в другой файл >
то-есть если нужно исправить несколько параметров в нужном xml, то приходится его каждый раз перезаписывать.
Вот на Fasm что получилось
include '%fasm%/win64ax.inc'
section '.code' executable
start:
sub rsp,8
invoke GetSystemMetrics,SM_CXSCREEN
invoke wsprintf,a,\
'/c xml ed -S -O -u "/Defaults/list/item[string[@value=''PArrangeWindow'']]/member/obj/int[@name=''H'']/@value" -v %d Defaults.xml> tmp',eax
invoke ShellExecute,NULL,NULL,'cmd.exe',a,NULL,SW_HIDE
invoke Sleep,100
invoke CopyFile,'tmp','Defaults.xml',NULL
invoke GetSystemMetrics,SM_CYSCREEN
sub eax,52
invoke wsprintf,a,\
'/c xml ed -S -O -u "/Defaults/list/item[string[@value=''PArrangeWindow'']]/member/obj/int[@name=''V'']/@value" -v %d Defaults.xml> tmp',eax
invoke ShellExecute,NULL,NULL,'cmd.exe',a,NULL,SW_HIDE
invoke Sleep,100
invoke CopyFile,'tmp','Defaults.xml',NULL
invoke GetSystemMetrics,SM_CXSCREEN
shr eax,1
sub eax,399
invoke wsprintf,a,\
'/c xml ed -S -O -u "/Defaults/list/item[string[@value=''TransportWindow'']]/member/obj/int[@name=''H'']/@value" -v %d Defaults.xml> tmp',eax
invoke ShellExecute,NULL,NULL,'cmd.exe',a,NULL,SW_HIDE
invoke Sleep,100
invoke CopyFile,'tmp','Defaults.xml',NULL
invoke GetSystemMetrics,SM_CYSCREEN
sub eax,220
invoke wsprintf,a,\
'/c xml ed -S -O -u "/Defaults/list/item[string[@value=''TransportWindow'']]/member/obj/int[@name=''V'']/@value" -v %d Defaults.xml> tmp',eax
invoke ShellExecute,NULL,NULL,'cmd.exe',a,NULL,SW_HIDE
invoke Sleep,100
invoke CopyFile,'tmp','Defaults.xml',NULL
invoke Sleep,10
invoke DeleteFile,'tmp'
exit:
invoke ExitProcess,NULL
section '.data' readable writeable
a rb MAX_PATH
section '.idata' import readable
library kernel32,'KERNEL32.DLL',shell32,'SHELL32.DLL',user32,'USER32.DLL'
include '%fasm%/api/kernel32.inc'
include '%fasm%/api/shell32.inc'
include '%fasm%/api/user32.inc'Всего четыре параметра поправить приходится четыре раза файл переписывать...
да...
может если раскурить ман, то может у утилитки и есть ключик типа sed'овского -i...
Там есть -i , но блин даже на форуме никто не отвечает, а в документации нет примеров.
Мне показалось, что без заголовка
<?xml version="1.0" ?>
вставка не работает.
А вот реплика с форума
xml ed -i -t comment -n '' -v 'comment contents here'
тоже не получилось у меня.
Уж лучше копировать 
ShellExecute() cmd.exe '/c xml ... Defaults.xml> tmp && move /y tmp Defaults.xml && del tmp'
Там есть -i , но блин даже на форуме никто не отвечает, а в документации нет примеров.
«типа -i» это может быть -i, а может что-то аналогичное... X_X
<global-options> are:
-P, or -S - preserve whitespace nodes.
(or --pf, --ps) Note that space between attributes is not preserved
-O (or --omit-decl) - omit XML declaration (<?xml ...?>)
-L (or --inplace) - edit file inplace
-N <name>=<value> - predefine namespaces (name without 'xmlns:')
ex: xsql=urn:oracle-xsql
Multiple -N options are allowed.
-N options must be last global options.
Уточню тогда, ещё важно <obj class="UPoint" name="Size" ID="182564128"> указывать, потому что obj могут дважды в блоке находится.
для xmlstarlet'а сам подправить xpath сможешь?
вот примеры, уровня букваря...
Так как же всётаки в bc корень n-й степени получить? Я набираю echo 2^(1/7), но это не поддерживается.
Мне уже кажется что это вообще невозможно, только не пугайте меня.
Так как же всётаки в bc корень n-й степени получить? Я набираю echo 2^(1/7), но это не поддерживается.Мне уже кажется что это вообще невозможно, только не пугайте меня.
как-то так если не думая:
но:
1) реальная точность меньше значения scale.
2) в не каноничном варианте, это тот случай, когда лучше перейти с баша на перловку или питон.
1) Мне точность не нужна, где-то до сотых вполне хватит, большое спасибо!
Гы! Даже в Windows работает! Первое что мне GnuWin32 bc нормально выдал 
semiono⇓ пишет:А всё это дело через вывод в файл > делается? Или можно исходный файл сразу отредактировать?
Если нужно исходный редактировать, могу свой скрипт подправить. Он заработал?
А я себе Python установил 
А есть что нибудь интересное из примерчиков? Крутящийся курсор например напечатать?
И как конвертировать py в байткод? Хотя всё это можно почитать, но я только что этим занялся)
Во всех книжках написано print "Helo World", я интуитивно написал print ("Helo World") и был прав, хотя потом узнал, что это в 3-й версии так.
Я в Windows сижу разумеется 
Я ещё Ruby и Perl поставил, но нифига не понятно))
Чтобы отправить ответ, вы должны войти или зарегистрироваться
Linux Forum → Работа в командной строке → <XML>
Форум работает на PunBB, при поддержке Informer Technologies, Inc