Да, поставить strace
перед каждой командой в конвейере и перенаправить stderr в другой файл для удобства анализа:
strace -o trace1.out command1 | strace -o trace2.out command2
Используйте вариант -L
/ --inplace
(см.xml edit --help
)и точное совпадение из связанного ответа:
xml ed -L -d "//configuration/folder[@id=\"$foldername\"]" config.xml
Использованиеxq
(части yq
изhttps://kislyuk.github.io/yq/):
xq -x --arg id "$foldername" 'del(.configuration.folder[] | select(."@id" == $id))' config.xml
Используйте опцию -i
или --in-place
для редактирования места -.