Мне нужно заменить довольно разнообразную строку, которая выглядит как таковой (Mac OS):GREP файлы и SED заменить случай нечувствительным
DBVARNAME="<anything>"
или
dbvarname="<anything>"
или любую другую комбинацию случая.
Мне нужно найти все вхождения этого в каждом файле и заменить его на «» (одно пустое пространство).
Вся линия была бы похожа на это:
<cfprocparam type="Out" dbvarname="locked" cfsqltype="CF_SQL_CHAR" variable="locked" value="#locked#">
Я попытался:
grep -irl dbvarname web|xargs sed -i '' 's/dbvarname=".*"//g'
Я понимаю, что это чувствительно к регистру, который один вопрос. Другим является то, что есть некоторые случаи, когда есть запятая запятая после шаблона, а I НЕ хотят удалять эти вхождения.
Любая помощь приветствуется, спасибо.
'sed' не поддерживает регистронезависимое согласования на OS X. –
' Perl' должны работать (например, 'Perl -pe ' s/(dbvarname = ") [^"] */\ 1/i'') ... –
Я не уверен, где вы имеете в виду точно в концевой запятой, в кавычках? –