Использование XMLStarlet :
#!/bin/sh
xml ed -u "//ThreadGroup[. = contains(@testname, '$1')]/@enabled" -v "true"
-u "//ThreadGroup[. = not(contains(@testname, '$1'))]/@enabled" -v "false"
Предполагая, что ваш XML действителен (я добавил корневой тег
и правильно разделил пустой
узел с />
. Я также установил атрибуты enabled
на "hello"
, чтобы сценарий фактически ] делает что-то):
$ cat data.xml
$ sh script.sh "OO"
Согласно вики golang github-
If you're using Ubuntu 16.04 LTS, 18.04 LTS or 18.10, then you can use the longsleep/golang-backports PPA and install Go 1.11. Note that golang-go installs latest Go as default Go. If you do not want that, install golang-1.11 instead and use the binaries from /usr/lib/go-1.11/bin.
sudo add-apt-repository ppa:longsleep/golang-backports
sudo apt-get update
sudo apt-get install golang-go