У меня есть этот скрипт:строку в файле заменить SED команды
#!/bin/sh
local name="url"
local line='{ "name": "url", "value": "http:\/\/www.example.com\/dir1\/page1" }'
local name2="protocol"
local line2='{ "name": "protocol", "value": "ftp" }'
sed -i "/\<$name2\>/s/.*/$line2/" /mydir/myfile
sed -i "/\<$name\>/s/.*/$line/" /mydir/myfile
MyFile содержат:
{ "name": "url", "value": "http:\/\/www.example.com\/dir2\/page2" }
{ "name": "url2", "value": "http:\/\/www.example.net/page" }
{ "name": "protocol", "value": "http" }
Я обнаружить проблему с /
символа в поле значения с моей SED команды. Как исправить эту ошибку?
проблема У меня есть другие значения, такие как 'ftp | http', в этом случае, как это сделать? – developer
Вы можете использовать: 'sed -i '/ <$name2\> /s~.*~$line2~"/mydir/myfile', как я уже сказал, любой персонаж работает даже над персонажами. – anubhava
Могу ли я найти еще одну команду для этого, независимо от моего значения контента и имени – developer