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

相关内容

  • 没有找到相关文章

最新更新