2
我想替換一個字符串,保留前綴,除非它包含特定的前綴。正則表達式:用給定前綴除外的前綴捕獲替換字符串
例如,像"(*)-bar"
任何字符串必須用"(*)-blah"
更換時"(*)"
匹配"baz"
情況除外:
foo-bar => should return foo-blah
baz-bar => should remain baz-bar
我迄今爲止最好的修剪前綴的更換時的最後一個字母:
echo "foo-bar" | sed s/"[^(baz)]-bar"/$1-blah/
'[^(巴茲)]'並不意味着你認爲它。 '[^ ...]'匹配不是括號中的字符之一的單個字符。 – Barmar