我正在尝试将现有文件中的单行替换为
UPDATE
TempStaging
SET
pending = 'running'
WHERE
scan IN (SELECT TOP 5 scan FROM TempStaging WHERE pending = 'outstanding' ORDER BY scan)
但我收到错误
sed -i -e 's/# elasticsearch.url: "http://localhost:9200"/elasticsearch.url: "http://myOwnHost:9200"/g' config/kibana.yml
我可以弄清楚如何以及如何逃离这里。我对sed很新。
答案 0 :(得分:2)
在sed
语句中,/
字符用作分隔符。例如s/search/replace/g
。由于你的字符串中有/
个字符,所以它会搞乱。虽然/
通常用作分隔符,但您可以使用其他字符。在您的情况下,我会使用管道|
,例如s|search|replace|g
。或者,您可以使用/
并转义字符串中的斜杠:\/
,但这会变得混乱。
答案 1 :(得分:0)
你必须用反斜杠转义正斜杠字符!
sed -i -e 's/# elasticsearch.url: "http:\/\/localhost:9200"/elasticsearch.url: "http:\/\/myOwnHost:9200"/g' config/kibana.yml