При использовании sed
вы можете использовать обратные ссылки - отмеченные \N
, где N - число. Например. \1
- первая обратная ссылка. Например. попробуйте это:
$ echo "\143"|sed 's/\143/abc/'
sed: -e expression #1, char 11: Invalid back reference
Это сделано для того, чтобы можно было сопоставить то, что уже было найдено, например ::100100
$ echo 'abcdab'|sed -r 's/(ab)cd\1/x/'
x
, где (ab)cd\1
означает совпадение ab
в качестве первой группы, затем cd
, а затем \1
соответствует любому совпадению первой группы (ab
в данном случае). Так, например это не будет соответствовать:
$ echo 'abcdaa'|sed -r 's/(ab)cd\1/x/'
abcdaa
Чтобы заставить его работать, просто убегите \
:
$ echo "\143"|sed 's/\\143/abc/'
abc
Так что в основном в вашей строке просто замените все \N
на \\N
, и это должно работать.
Конечно, вы сделали резервную копию, прежде чем делать что-либо на живом веб-сайте, да?