2016-08-13 48 views
0

我正在寫一些自動化獲得小路,我得到了代碼,但我無法理解下面的命令究竟做了什麼?

sed 's;//;/;g' 
egrep "\-example (|\:)$variablename:" 

回答

1

在SED中,通常使用/作爲s命令的分隔符,但任何字符會做,是很常見的選擇不會出現在任何模式或替換的字符。在這種情況下,選擇;作爲分隔符。該命令只是將//替換爲/。它相當於(IMO)更易讀:[email protected]//@/@g

egrep是一個語法錯誤,可能應該寫成:egrep "-example (:)?$variablename:",它將匹配帶有或不帶有:的文本。 (也就是說,如果variablename=foo,那麼這將匹配-example foo:-example :foo:。這可能不是目的,但很難說,因爲給定的例子是無效的語法。它似乎想提供:之間的替代或東西否則,但替代方案缺失。)

+0

非常感謝你 –