簡體   English   中英

執行“ d”命令時如何在sed中使用shell變量?

[英]How to use a shell variable inside sed when doing “d” command?

在我的bash中,我希望將行從1刪除為$ {number},如下所示:

number=10
sed '1,${number}d' myfile

它因語法錯誤而失敗。 我也嘗試過“ \\ $ {number}”,'“ $ number”',但都沒有用


我改為雙引號,它可以在命令行下運行,但不能在bash腳本文件中運行。 如何使其運作?

sed表達式括在雙引號內以插入變量number

sed "1,${number}d" file

以這種方式運行sed時,請使用雙引號而不是單引號。 在這里閱讀單引號和雙引號之間區別

我改為雙引號,它可以在命令行下運行,但不能在bash腳本文件中使用

假設您的bash腳本是:

sed "1,${number}d" myfile

您應該在bash提示符下導出number變量,以便在運行時可以在bash腳本中看到它:

export number=10

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM