如何在文件中查找/替换字符串

时间:2016-10-18 17:18:33

标签: linux sed

我试图在文件中找到这个字符串:

"cPHulk":{"BruteForce":3,"Login":3,"*":3}

并将其替换为此字符串:

"cPHulk":{"*":"1","Login":"1","BruteForce":"1"}

我使用sed来做这件事,但我很挣扎。我的sed命令如下:

sed -i -e 's/"cPHulk":{"BruteForce":3,"Login":3,"*":3}/"cPHulk":{"*":"1","Login":"1","BruteForce":"1"}/g' /var/cpanel/icontact_event_importance.json

编辑: 正确的sed公式:

sed -i -e 's/"cPHulk":{"BruteForce":3,"Login":3,"\*":3}/"cPHulk":{"\*":"1","Login":"1","BruteForce":"1"}/g' /var/cpanel/icontact_event_importance.json

1 个答案:

答案 0 :(得分:0)

我发现在某些* nix上你必须提供一个空白作为后缀才能让它进行就地替换:

sed -i '' -e 's/"cPHulk":{"BruteForce":3,"Login":3,"*":3}/"cPHulk":{"*":"1","Login":"1","BruteForce":"1"}/g' /var/cpanel/icontact_event_importance.json

请注意''

之后的-i