比方說,我有輸入:用sed來替換不在行
/a/b/c/d/e/
/a/b/c/d/e
a/b/c/d/e/
a/b/c/d/e
我想替換所有/
是不是在邊緣與+
所以輸出是:
/a+b+c+d+e/
/a+b+c+d+e
a+b+c+d+e/
a+b+c+d+e
我試過這個命令:
sed -e "s#\(.\)/\(.\)#\1+\2#g"
是關閉b UT不大:
/a+b/c+d/e/
/a+b/c+d/e
a+b/c+d/e/
a+b/c+d/e
大概是因爲連續/
人物之間的\(.\)
重疊。
我不相信sed在行首或行結束時有一個空匹配運算符。那麼,這是如何完成的?
或用小更改:'sed -r':a; s |(。)/(。)| \ 1+ \ 2 | g; ta'file'。 – Cyrus
非常感謝@Cyrus,將它添加到我的答案中 – anubhava