2014-01-20 54 views
0

我有以下命令桑達在CentOS和FreeBSD

sed '/.*href="\(backup[^"]*tbz\)".*/!d;s//\1/;q' 

這是對我的作品的CentOS安裝。

但是,當我試圖在FreeBSD運行我得到了以下錯誤:

sed: 1: "/.*href="\(backup[ ...": extra characters at the end of d command 
(23) Failed writing body 

這有什麼錯呢? 謝謝!

回答

0

嘗試這樣運行:

sed '/.*href="\(backup[^"]*tbz\)".*/\!d;s//\1/;q' 

注意額外\字符轉義你的d命令

0

顯然FreeBSD的sed不喜歡分號作爲命令分隔符!多嘗試-e選項,而不是:

sed -e '/.*href="\(backup[^"]*tbz\)".*/!d' -e 's//\1/' -e q 

或許換行符:

sed '/.*href="\(backup[^"]*tbz\)".*/!d 
    s//\1/ 
    q' 

(是的,這是一個長單引號字符串帶有兩個新行)