我怎麼掉特定的單詞與SED: 考慮輸入的一行(對我來說這是一個路徑):SED交換的話
foo/bar/TEST/foo/bar/...
有並行路徑:
foo/bar/PROD/foo/bar/...
我想這取決於原始路徑
我第一次嘗試是在交換TEST和PROD:
sed -e "s#TEST#PROD#g" -e "s#TEST#PROD/g"
但遺憾的是:
echo "foo/bar/PROD/foo/bar/..." | sed -e "s#TEST#PROD#g" -e "s#PROD#TEST#g"
result: foo/bar/TEST/foo/bar/...
作品期望值,但
echo "foo/bar/TEST/foo/bar/..." | sed -e "s#TEST#PROD#g" -e "s#PROD#TEST#g"
result: foo/bar/TEST/foo/bar/...
不會改變任何東西,或更好的做到這些substitions。
我正在尋找第一個成功時不執行第二個替換的選項。
任何想法還是有更好的方法嗎?
也許一個更好的例子會在輸入中包含TEST和PROD,例如, 'echo'foo/TEST/bar/PROD/foo'| sed'...''? –