2013-05-13 30 views
-3

我運行linux find命令來收集文件路徑。linux - 如何使用sed與正則表達式

我想每個文件路徑上使用SED與下面的模式 -

輸入:\dira\dirb\abc\def\aa.txt

輸出:http:\\something\abc\def\aa.txt

\dira\dirb\可能會改變。

一般情況下,我需要一個給定的字符串

我已經用這個表達式做在python更換前2個反斜線:r'[/][^/]+[/][^/]+[/](.+),但如果給什麼,當我嘗試使用sed使用它。

有什麼想法?

+2

http://bit.ly/13TYalu – 2013-05-13 13:01:32

+0

'+'是一個ERE元字符,默認情況下sed使用BREs。谷歌的差異和如何在sed中使用EREs(取決於你的sed變體)。 – 2013-05-13 18:13:04

回答

1

你會想用's'。

echo "\dira\dirb\abc\def\aa.txt" | sed 's;^\\[^\\]*\\[^\\]*;http:\\\\something;'