2017-05-27 47 views
1

禮炮所有開發者,如何sed的解釋下面的語句

對不起,我要解決這個問題,但我有點小白,當談到shell腳本,我仍然在學習(請多多包涵) 。

好了,長話短說。我見過有人在此腳本shell命令:

sed -e 1,\$s/a/${b} myfile > myfile_1 

什麼1個代表?並且「\」轉義字符「$」?

謝謝開發者。

+0

感謝提示賽勒斯:D – GreenT

回答

1

這取決於行的執行位置。

假設它在bashksh或類似的東西被執行時,線是指與該腳本1,$s/a/與所附shell變量b的內容來執行sed。顯然,預計b的值應該會終止s指令,否則sed會投訴。

這是不可能的,告訴哪些腳本將不知道的b價值做 - 這可能只是完成s指令,每線代替的東西a,但它可以包含任意數量的附加說明。

+1

此外,'1,$'在我看來不是必需的,因爲它說「每行都這樣做」,無論如何這是默認行爲。 –

+0

@shinobi謝謝你的解釋,現在更清楚了。 – GreenT

+0

@Benjamin W.謝謝你,我剛剛重寫了刪除不必要的指令「1,$」的命令。 – GreenT