Используя bash для замены сущностей html символов в xml файле

Следуя философии Unix, у вас есть инструмент, который перечисляет процессы, использующие данный графический процессор, и инструмент, который уничтожает процессы. Комбинируйте их, используя конструкции оболочки и инструменты обработки текста.

Например, чтобы убить все процессы, использующие GPU 2, вы можете выполнить следующую команду:

kill $(nvidia-smi | awk '$2=="Processes:" {p=1} p && $2 == 2 && $3 > 0 {print $3}')

или

kill $(nvidia-smi -g 2 | awk '$2=="Processes:" {p=1} p && $3 > 0 {print $3}')
0
18.11.2018, 08:45
2 ответа

sedможет использовать почти любой символ в качестве разделителя для своего выражения, я считаю, что лучше не использовать разделитель, который находится в строке, которую вы пытаетесь заменить, чтобы ограничить ошибки экранирования.

sed -e 's!/p&gt!/h3\&gt!g' new_exp_dev02.xmlзаменит /p&gtна /h3&gt. Амперсанд(&)в замене необходимо экранировать, так как этот символ имеет особое значение в выражениях замены sed.

Ваше опубликованное выражение sedочень трудно прочитать, и я не уверен, чего вы пытаетесь достичь с его помощью, но, похоже, у него другая цель, чем «заменить часть /p&gtна /h3&gt».

РЕДАКТИРОВАТЬ :если вам нужно написать выражение в такой длинной форме, это должно работать:

sed -e 's!\(<h3>Styled here with:.*\)/p>!\1/h3\>!g' new_exp_dev02.xml

Это помещает всю совпавшую часть кроме /p&gtв обратную ссылку, которую мы можем использовать в секции замены как \1. Вы не можете использовать регулярное выражение на стороне замены sed, так как регулярные выражения используются только для сопоставления.

Первое выражение в этом ответе заменит все вхождения /p&gtна /h3&gt, второе выражение заменит /p&gt, только если оно встречается сразу после сопоставления с регулярным выражением"<h3>Styled here with:.*"

2
28.01.2020, 02:31

Вы можете попробовать команду perl ниже

 perl -pne "s/p&gt/h3&gt/g" filename

выход

&lt;h3&gt;Styled here with: &lt;a href="$url('Product-Show','pid','107723102')$"&gt;FRS blo&lt;/a&gt;, &lt;a href="$url('Product-Show','pid','000482512')$"&gt;Os Cutes&lt;/a&gt;&amp;nbsp;and &lt;a href="$url('Product-Show','pid','000312901')$"&gt;Dor Sho&lt;/a&gt;&lt;/h3&gt;</short-description>
0
28.01.2020, 02:31

Теги

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