I Я пытаюсь выполнить команду sed
для приведенной ниже команды. Я пытаюсь найти v = window.location.search.match
в файле и заменить его на
Вот что у меня есть на данный момент:
sed -i.bak 's/v=window.location.search.match/\<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"\>\</script\>/d' myfile.txt
После запустив это, я получаю следующую ошибку:
sed: -e expression #1, char 49: unknown option to `s'
Я не понимаю, где я должен разместить каждый \
для экранирования.
Как указано @Babyy, если ваше выражение содержит символы /
, тогда вы можете изменить разделитель sed
на то, что выиграет ' t риск может быть обнаружен во входном файле, например |
или _
sed -i.bak 's|v=window.location.search.match|<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>|' myfile.txt
Теперь, если вы хотите заменить всю строку, первая часть вашего выражения должна соответствовать всему, начиная с начала строки до конца:
sed -i.bak 's|^.*v=window.location.search.match.*$|<script src="//ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script>|' myfile.txt