我试图在文件中找到这个字符串:
"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