Мне нужно изменить существующий скрипт, который использует SED для поиска и замены в файле. Моя проблема заключается в том, что мне нужно использовать sed для выполнения одного и того же поиска и замены, но только в случае выполнения двух критериев.Использование SED с 2 критериями поиска
Я использую найти и СЭД, как показано ниже:
find . -name 'search.do*' -exec sed -i "/href/\
s/href=\"[^\"]*sommerhus\/detail\.do[^\"]*unitId=\([^\"]*\)\"/href=\"sommerhus-\1.html\"/g" {} \;
, но теперь мне нужно, чтобы убедиться, что замена происходит только тогда, когда «HREF» И еще критерии поиска выполняется Fx «HREF» & & " язык "
Я пробовал с -e, но безуспешно. Возможно ли это?
сезам о вложенности SearchPatterns в 'sed' хотя использую его с эээ, когда я был молод, спасибо @dbaupp. –
+1: также обратите внимание, что можно избежать некоторой избыточности: 'sed '/ language/{\ @href =" [^ "] * sommerhus/detail \ .do [^"] * unitId = \ ([^ "] * \) "@ s // href =" sommerhus- \ 1.html "/ g}' –
Я использовал простое решение, которое вы предоставили с помощью href. * language. Должен был подумать об этом сам, но спасибо большое. –