[英]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.