[英]linux bash sed-command with variable
我在linux bash“ .sh”腳本中有一個變量
$data="test_1"
現在我想創建一個新變量($ name),該變量只包含下划線前$ data的一部分,所以
$name="test"
我想到用sed做到這一點
name=$(echo "$dataset" | sed 's/_.*//');
但這似乎不起作用。 我究竟做錯了什么?
無需調用外部進程( sed
)。 相反,您可以像這樣使用shell的參數替換:
$ data="test_1"
$ echo "${data%%_*}"
test
${var%%Pattern}
從刪除$var
是后端(右)圖形匹配最長的部分$var
。
${var%Pattern}
用於刪除最短模式
有關參數替換的更多信息,請參見此處 。
您可以將其存儲在這樣的變量中:
$ name="${data%%_*}"
$ echo "$name"
test
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.