file=mylog.log
search_str="&Name="
end_str="&"
sed -i -E ':a; s/('"$search_str"'X*)[^X'"$end_str"']/\1X/; ta' "$file"
Ex 1:
something&Name=JASON&else
to
something&Name=XXXXX&else
給定的兩個字符串之間而實際上,我現在的sed命令正常工作時,而不是X‘‘替換字符$ end_str’’如果我使用‘&’字。 ..就像這樣:bash腳本:在文件「「使用SED
sed -i -E ':a; s/('"$search_str"'X*)[^X&]/\1X/; ta' "$file"
因此,要總結,認爲它,之後^ X,如果一個字符來比我給sed命令工作得很好......但是,如果不是性格相同的命令不起作用,我用一串...
For example, my sed command won't work in this case :
end_str="\%26"
sed -i -E ':a; s/('"$search_str"'X*)[^X'"$end_str"']/\1X/; ta' "$file"
如:
something&Name=JASON_MATTHEW_DONALD%26else
TO
something&Name=XXXXXXXXXXXXXXXXXXXX%26else
如:2
something&Name=JASON%26else
TO
something&Name=XXXXX%26else
請讓我知道字符類的外部
在'sed','[]'是一個字符類,而不是字符串。它表示'[]'中的任何單個字符。用'^'前綴,它表示任何不在'[]'中的單個字符。 – alvits
@alvits謝謝Alvits ...所以,而不是[我應該使用什麼? –
@PuneetJain:你能總結一下你的最終輸入和預期輸出嗎?目前尚不清楚。 – Inian