2016-02-27 95 views
0

在bash中,我定義了一個變量n,從這個變量的行號到最後一行的值就是我要刪除的行號。如何從可變行號刪除行到最後一行?

我試圖

sed -i '${n},$d' file 

但錯誤味精是:

的sed:-e表達式#1,燒焦5:命令

後多餘的字符

關於如何正確使用任何想法sed?我懷疑這是因爲sed中有兩個$,一個是變量,另一個是最後一個行號。

+1

'$ {N}'不會單引號內的擴張。 – FatalError

+0

'sed -i $ n',$ d'文件' – miken32

+0

sed -i「$ {n},$ d」test sed:-e表達式#1,字符2:意外的',' –

回答

1

對於便攜性,透明度和安全性,以下是合理的:

sed -i.bak -e "${n},\$d" file