我在命令行上運行perl -e以使用perls正則表達式功能在多個文件中查找和替換字符串。不過,我已經在一個腳本以及許多正則表達式測試器中測試了我的正則表達式,但它似乎無法在命令行上工作。所以我開始懷疑是否因爲它的命令行我需要逃避額外的字符。例如,我知道當我將它用作變量時,我必須逃避$
,所以我想也許我需要在我的命令中使用它。我正在使用Linux。在命令行上運行perl -e時必須轉義哪些字符
繼承人我命令:
perl -pi -w -e 's/"flags" : {[^"]+"CP" : 1[^"]+"prop_name" : "ID"[^:]+: "SKU"/"flags" : { "SET" : 1 }, "prop_name" : "ID", "rule" : "SKU+ProductId"/gms;' *_input.xml
我想匹配的部分:一部分是內部改爲
{
"flags" : {
"CP" : 1
},
"prop_name" : "ID",
"rule" : "SKU"
},
這樣:
{
"flags" : {
"SET" : 1
},
"prop_name" : "ID",
"rule" : "SKU+ProductId"
},
*「似乎不起作用」*?小心解釋什麼不起作用,有什麼錯誤,你有什麼嘗試等? – grebneke
有沒有可能包含比賽的例子以及如何修改? – abiessu
這是Windows還是Linux? – AKHolland