1
У меня есть file.php
, который изменяется внешне, с линией, как:Sed не работает с регулярным выражением
echo "\n<!-- BEGIN APP v" . APP_VERSION . " - http://saite.com/ -->\n";
Зная картину он все еще будет следовать, мне нужно, чтобы подавить это сообщение только с новой строки.
Но я не могу найти способ этого. Я пытаюсь запустить этот код с терминала:
PAT="<!-- BEGIN APP [^>]+>"
TO=""
sed -i "s/$PAT/$TO/g" file.php
Но файл не изменен.
восклицательный знак является командой истории, когда интерпретатором, так что первый 'PAT = "] +>" 'должен потерпеть неудачу с' -bash:! -: event not found' (поскольку он попытался в моей системе найти предыдущую введенную команду startstarting с '--' ... – Dilettant
Подтвердите, но я не вижу этого сообщения .. моя команда внутри скрипта. Может быть, это причина .. – Croll
Расширение истории по умолчанию не происходит изнутри скрипта. –