2014-09-16 2 views
0

У меня есть эта строка в файле test.txt. . И я просто хочу, чтобы заменить часть, которая является «место =» http://adcgen07.us.oracle.com:7777/»Вся линия:Использование sed для замены соответствующей части строки

<soap:address xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" location="http://adcgen07.us.oracle.com:7777/soa-infra/services/default/TestProducer1/client"/> 

регулярное выражение, которое я написал для строка соответствия является

\blocation="http\b.*\b:777[0-9] 

Но если я использую СЭД для замены строки, он даст мне эту следующую ошибку.

sed -i .bak 's/\blocation="http\b.*\b:777[0-9]/hello/' test.txt 
    sed: -e expression #1, char 1: unknown command: `.' 

заранее спасибо за помощь.

+1

Вы забыли слэш в конце: 'SED -i .bak«s/\ blocation = "HTTP \ Ъ * \ Ъ:. 777 [0-9]/привет/'test.txt' –

+0

Спасибо. Но если я добавлю косую черту в конце, я все равно получаю ту же ошибку. – user2513857

+0

Вам нужно удалить пробел между '-i' и' .bak' –

ответ

0

Попробуйте это:

sed -i ".bak" "s/location=\"http:\/\/.*:777[0-9]/hello/" test.txt 
Смежные вопросы