sed XML parse выбирает текст между тегами со специальными символами, удаляя другие блоки

На MAC OX параметр «-f» не работает, «readlink» работает без каких-либо параметров.

KZs-MacBook-Pro:bin kz$ readlink -f pip3
readlink: illegal option -- f
usage: readlink [-n] [file...]

KZs-MacBook-Pro:bin kz$ readlink pip3
../../../Library/Frameworks/Python.framework/Versions/3.7/bin/pip3
-2
05.02.2021, 08:37
1 ответ

Разбор xmlс помощью sed, grepили awkсложен и подвержен ошибкам -.Вам лучше использовать специализированные парсеры XML, например. xmlstarlet.

Не знаю точно, как должен выглядеть ваш вывод, но, исходя из вашего сценария, я предполагаю, что он выглядит примерно так. Это выведет список JOBNAME FTP_RHOST_VALUEдля каждого JOB:

.
xmlstarlet sel -t \
-m '//JOB' \
-v './@JOBNAME' \
-o $'\t' \
-v './AUTOEDIT2[@NAME="%%FTP-RHOST"]/@VALUE' \
-n \
/tmp/FTPJobs_table007.xml

Вывод для вашего примера текста:

energent_billing_delta-FTP  hdq-nt164

Возможно, вам потребуется установить xmlstarlet, например.:

sudo apt install xmlstarlet
3
18.03.2021, 22:32

Теги

Похожие вопросы