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

"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

最佳答案

我发现在某些*号上,您必须提供一个空白作为后缀,以便将其替换到位:

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

注意''之后的-i

09-09 20:59