Bash:如何使用定义的变量删除路径的某些部分

Bash:如何使用定义的变量删除路径的某些部分,bash,sed,path,echo,Bash,Sed,Path,Echo,我需要Bash脚本的帮助 我试图做的是使用定义的变量删除路径的某些部分 假设我们有一条路径: path= /path/that/I/want/part/that/I/do/not 我有一个变量定义为: x="want" 这个变量“x”可以是任何东西,例如x=“that”或x=“I”,但在本例中,我们假设x=“want” 所以我想查看“path”变量,并搜索“x”变量的位置。然后删除“path”变量中出现在“x”变量之后的所有内容 所以在这个例子中,我的预期输出是 path= /path/th

我需要Bash脚本的帮助

我试图做的是使用定义的变量删除路径的某些部分

假设我们有一条路径:

path= /path/that/I/want/part/that/I/do/not
我有一个变量定义为:

x="want"
这个变量“x”可以是任何东西,例如x=“that”或x=“I”,但在本例中,我们假设x=“want”

所以我想查看“path”变量,并搜索“x”变量的位置。然后删除“path”变量中出现在“x”变量之后的所有内容

所以在这个例子中,我的预期输出是

path= /path/that/I/want/
我试过使用

echo $path | sed 's/\($x\).*/\1/g'
但它没有起作用

请帮忙

多谢各位

汤米

将“替换为”

替换为:

x="want"
path=/path/that/I/want/xxxxxxxxxx
echo $path | sed "s:\($x\).*:\1:g"

谢谢你的回答!!效果很好!我想我也犯了一个错误,我用了“代替”